说明:我们的分享菜单可以修改背景,里面的图标以及文字,颜色等,另外可以自己自定义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 条评论) |