ShareSDK自定义UI的方法

说明:我们的分享菜单可以修改背景,里面的图标以及文字,颜色等,另外可以自己自定义UI,用自己的方法写界面,写好了之后可以调用我们以下无UI的分享方法,另外我们的UI也是开源的。

一、无UI分享

#import<ShareSDK/ShareSDK.h>

//创建分享参数

NSMutableDictionary*shareParams=[NSMutableDictionarydictionary];

[shareParamsSSDKSetupShareParamsByText:@"分享内容"

images:images//传入要分享的图片

url:[NSURLURLWithString:@"http://mob.com"]

title:@"分享标题"

type:SSDKContentTypeAuto];

//进行分享

[ShareSDKshare:SSDKPlatformTypeSinaWeibo//传入分享的平台类型

parameters:shareParams

onStateChanged:^(SSDKResponseStatestate,NSDictionary*userData,SSDKContentEntity*contentEntity,NSError*error){//回调处理....}];

}

二、自定义分享菜单栏样式

//弹出分享菜单需要导入的头文件

#import<ShareSDK/ShareSDK.h>

#import<ShareSDKUI/ShareSDK+SSUI.h>

//自定义分享菜单栏需要导入的头文件

#import<ShareSDKUI/SSUIShareActionSheetStyle.h>

#自定义分享编辑界面所需要导入的头文件

#import<ShareSDKUI/SSUIEditorViewStyle.h>

//1、创建分享参数(必要)

NSMutableDictionary*shareParams=[NSMutableDictionarydictionary];

NSArray*imageArray=@[[UIImageimageNamed:@"图片名.png"]];

(注意:图片必须要在Xcode左边目录里面,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])

[shareParamsSSDKSetupShareParamsByText:@"分享内容"

images:imageArray

url:[NSURLURLWithString:@"http://mob.com"]

title:@"分享标题"

type:SSDKContentTypeAuto];

//设置分享菜单栏样式(非必要)

//设置分享菜单的背景颜色

[SSUIShareActionSheetStylesetActionSheetBackgroundColor:[UIColorcolorWithRed:249/255.0green:0/255.0blue:12/255.0alpha:0.5]];

//设置分享菜单颜色

[SSUIShareActionSheetStylesetActionSheetColor:[UIColorcolorWithRed:21.0/255.0green:21.0/255.0blue:21.0/255.0alpha:1.0]];

//设置分享菜单-取消按钮背景颜色

[SSUIShareActionSheetStylesetCancelButtonBackgroundColor:[UIColorcolorWithRed:21.0/255.0green:21.0/255.0blue:21.0/255.0alpha:1.0]];

//设置分享菜单-取消按钮的文本颜色

[SSUIShareActionSheetStylesetCancelButtonLabelColor:[UIColorblackColor]];

//设置分享菜单-社交平台文本颜色

[SSUIShareActionSheetStylesetItemNameColor:[UIColorwhiteColor]];

//设置分享菜单-社交平台文本字体

[SSUIShareActionSheetStylesetItemNameFont:[UIFontsystemFontOfSize:10]];

//设置分享编辑界面的导航栏颜色

[SSUIEditorViewStylesetiPhoneNavigationBarBackgroundColor:[UIColorblackColor]];

//设置编辑界面标题颜色

[SSUIEditorViewStylesetTitleColor:[UIColorredColor]];

//设置取消发布标签文本颜色

[SSUIEditorViewStylesetCancelButtonLabelColor:[UIColorblueColor]];

[SSUIEditorViewStylesetShareButtonLabelColor:[UIColorblueColor]];

//设置分享编辑界面状态栏风格

[SSUIEditorViewStylesetStatusBarStyle:UIStatusBarStyleLightContent];

//设置简单分享菜单样式

[SSUIShareActionSheetStylesetShareActionSheetStyle:ShareActionSheetStyleSimple];

//2、弹出ShareSDK分享菜单

[ShareSDKshowShareActionSheet:view

items:nil

shareParams:shareParams

onShareStateChanged:^(SSDKResponseStatestate,SSDKPlatformTypeplatformType,NSDictionary*userData,SSDKContentEntity*contentEntity,NSError*error,BOOLend){......}

三、跳过分享的编辑界面

设置弹出分享菜单,直接点击菜单中的平台分享(跳过分享的编辑界面)。

#import<ShareSDK/ShareSDK.h>

#import<ShareSDKUI/SSUIShareActionSheetController.h>

//先构造分享参数:

NSMutableDictionary*shareParams=[NSMutableDictionarydictionary];

[shareParamsSSDKSetupShareParamsByText:@"分享内容"

images:@[[UIImageimageNamed:@"shareImg.png"]]

url:[NSURLURLWithString:@"http://mob.com"]

title:@"分享标题"

type:SSDKContentTypeAuto];

//有的平台要客户端分享需要加此方法,例如微博

[shareParamsSSDKEnableUseClientShare];

//调用分享的方法

SSUIShareActionSheetController*sheet=[ShareSDKshowShareActionSheet:view

items:nil

shareParams:shareParams

onShareStateChanged:^(SSDKResponseStatestate,SSDKPlatformTypeplatformType,NSDictionary*userData,SSDKContentEntity*contentEntity,NSError*error,BOOLend){

switch(state){

caseSSDKResponseStateSuccess:

NSLog(@"分享成功!");

break;

caseSSDKResponseStateFail:

NSLog(@"分享失败%@",error);

break;

caseSSDKResponseStateCancel:

NSLog(@"分享已取消");

break;

default:

break;

}

}];

//删除和添加平台示例

[sheet.directSharePlatformsremoveObject:@(SSDKPlatformTypeWechat)];(默认微信,QQ,QQ空间都是直接跳客户端分享,加了这个方法之后,可以跳分享编辑界面分享)

[sheet.directSharePlatformsaddObject:@(SSDKPlatformTypeSinaWeibo)];(加了这个方法之后可以不跳分享编辑界面,直接点击分享菜单里的选项,直接分享)

四、隐藏“微信收藏”平台

[ShareSDKregisterActivePlatforms:@[

//不要使用微信总平台进行初始化

//@(SSDKPlatformTypeWechat),

//使用微信子平台进行初始化,即可

@(SSDKPlatformSubTypeWechatSession),

@(SSDKPlatformSubTypeWechatTimeline)

]

onImport:^(SSDKPlatformTypeplatformType)

{

switch(platformType)

{

caseSSDKPlatformTypeWechat:

[ShareSDKConnectorconnectWeChat:[WXApiclass]];

break;

default:

break;

}

}

onConfiguration:^(SSDKPlatformTypeplatformType,NSMutableDictionary*appInfo)

{

switch(platformType)

{

caseSSDKPlatformTypeWechat:

[appInfoSSDKSetupWeChatByAppId:@"wx4868b35061f87885"

appSecret:@"64020361b8ec4c99936c0e3999a9f249"];

break;

default:

break;

}

}];

五、(分享菜单)平台顺序自定义

ShareSDK提供的UI(分享菜单)平台顺序自定义。

//分享

[ShareSDKshowShareActionSheet:nil

//将要自定义顺序的平台传入items参数中

items:@[@(SSDKPlatformTypeMail),

@(SSDKPlatformTypeSMS),

@(SSDKPlatformTypeCopy),

@(SSDKPlatformTypeFacebook),

@(SSDKPlatformTypeTwitter),

@(SSDKPlatformTypeWechat),

@(SSDKPlatformTypeQQ)]

shareParams:shareParams

onShareStateChanged:^(SSDKResponseStatestate,SSDKPlatformTypeplatformType,NSDictionary*userData,SSDKContentEntity*contentEntity,NSError*error,BOOLend){.......}];

六、自定义分享菜单项

如果想在我们的分享菜单上添加一个自己的按钮,处理自己想要做的事件,如下所示:

#import<ShareSDKUI/SSUIShareActionSheetCustomItem.h>

//添加一个自定义的平台(非必要)

SSUIShareActionSheetCustomItem*item=[SSUIShareActionSheetCustomItemitemWithIcon:[UIImageimageNamed:@"Icon.png"]

label:@"自定义"

onClick:^{

//自定义item被点击的处理逻辑

NSLog(@"===自定义item被点击===");

UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"自定义item被点击"

message:nil

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil];

[alertViewshow];

}];

NSArray*platforms=@[@(SSDKPlatformSubTypeQQFriend),@(SSDKPlatformSubTypeWechatSession),@(SSDKPlatformTypeTencentWeibo),item];

//再把声明的platforms对象传进分享方法里的items参数里

[ShareSDKshowShareActionSheet:nil

items:platforms

shareParams:shareParams

onShareStateChanged:^(SSDKResponseStatestate,SSDKPlatformTypeplatformType,NSDictionary*userData,SSDKContentEntity*contentEntity,NSError*error,BOOLend){}

[ShareSDK]轻松实现社会化功能强大的社交分享

[SMSSDK]快速集成短信验证联结通讯录社交圈

[MobLink]打破App孤岛实现Web与App无缝链接

[MobPush]快速集成推送服务应对多样化推送场景

[AnalySDK]精准化行为分析+多维数据模型+匹配全网标签+垂直行业分析顾问

BBSSDK|ShareREC|MobAPI|MobPay|ShopSDK|MobIM|App工厂

截止2018年4月,Mob开发者服务平台全球设备覆盖超过84亿,SDK下载量超过3,300,000+次,服务超过380,000+款移动应用。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();