說明:我們的分享菜單可以修改背景乳附,里面的圖標(biāo)以及文字内地,顏色等,另外可以自己自定義UI赋除,用自己的方法寫界面瓤鼻,寫好了之后可以調(diào)用我們以下無UI的分享方法,另外我們的UI也是開源的贤重。
#import <ShareSDK/ShareSDK.h>?
//創(chuàng)建分享參數(shù)
? ? NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
? ? [shareParams SSDKSetupShareParamsByText:@"分享內(nèi)容"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?images:images //傳入要分享的圖片
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? url:[NSURL URLWithString:@"http://mob.com"]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? title:@"分享標(biāo)題"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?type:SSDKContentTypeAuto];
? ? //進(jìn)行分享
? ? [ShareSDK share:SSDKPlatformTypeSinaWeibo //傳入分享的平臺類型
? ? ? ? ?parameters:shareParams
? ? onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) { // 回調(diào)處理....}];
? ? }
二、自定義分享菜單欄樣式
// 彈出分享菜單需要導(dǎo)入的頭文件
#import <ShareSDK/ShareSDK.h>?
#import <ShareSDKUI/ShareSDK+SSUI.h>
// 自定義分享菜單欄需要導(dǎo)入的頭文件
#import <ShareSDKUI/SSUIShareActionSheetStyle.h>
#自定義分享編輯界面所需要導(dǎo)入的頭文件
#import <ShareSDKUI/SSUIEditorViewStyle.h>
? ? //1并蝗、創(chuàng)建分享參數(shù)(必要)
? ? NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
? ? NSArray* imageArray = @[[UIImage imageNamed:@"圖片名.png"]];
? ?(注意:圖片必須要在Xcode左邊目錄里面祭犯,名稱必須要傳正確,如果要分享網(wǎng)絡(luò)圖片滚停,可以這樣傳iamge參數(shù) images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
? ? [shareParams SSDKSetupShareParamsByText:@"分享內(nèi)容"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?images:imageArray
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? url:[NSURL URLWithString:@"http://mob.com"]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? title:@"分享標(biāo)題"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?type:SSDKContentTypeAuto];
? ? // 設(shè)置分享菜單欄樣式(非必要)
? ? // 設(shè)置分享菜單的背景顏色
? ? [SSUIShareActionSheetStyle setActionSheetBackgroundColor:[UIColor colorWithRed:249/255.0 green:0/255.0 blue:12/255.0 alpha:0.5]];
? ? // 設(shè)置分享菜單顏色
? ? [SSUIShareActionSheetStyle setActionSheetColor:[UIColor colorWithRed:21.0/255.0 green:21.0/255.0 blue:21.0/255.0 alpha:1.0]];
? ? // 設(shè)置分享菜單-取消按鈕背景顏色
? ? [SSUIShareActionSheetStyle setCancelButtonBackgroundColor:[UIColor colorWithRed:21.0/255.0 green:21.0/255.0 blue:21.0/255.0 alpha:1.0]];
? ? // 設(shè)置分享菜單-取消按鈕的文本顏色
? ? [SSUIShareActionSheetStyle setCancelButtonLabelColor:[UIColor blackColor]];
? ? // 設(shè)置分享菜單-社交平臺文本顏色
? ? [SSUIShareActionSheetStyle setItemNameColor:[UIColor whiteColor]];
? ? // 設(shè)置分享菜單-社交平臺文本字體
? ? [SSUIShareActionSheetStyle setItemNameFont:[UIFont systemFontOfSize:10]];
? ?//設(shè)置分享編輯界面的導(dǎo)航欄顏色
? ?[SSUIEditorViewStyle setiPhoneNavigationBarBackgroundColor:[UIColor blackColor]];
? //設(shè)置編輯界面標(biāo)題顏色
? [SSUIEditorViewStyle setTitleColor:[UIColor redColor]];
? //設(shè)置取消發(fā)布標(biāo)簽文本顏色
? ?[SSUIEditorViewStyle setCancelButtonLabelColor:[UIColor blueColor]];
? ? [SSUIEditorViewStyle setShareButtonLabelColor:[UIColor blueColor]];
? ?//設(shè)置分享編輯界面狀態(tài)欄風(fēng)格
? ?[SSUIEditorViewStyle setStatusBarStyle:UIStatusBarStyleLightContent];
? //設(shè)置簡單分享菜單樣式
? ? [SSUIShareActionSheetStyle setShareActionSheetStyle:ShareActionSheetStyleSimple];
? ? //2沃粗、彈出ShareSDK分享菜單
? ? [ShareSDK showShareActionSheet:view
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?items:nil
? ? ? ? ? ? ? ? ? ? ? ?shareParams:shareParams
? ? ? ? ? ? ? ?onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) { ...... }
三、跳過分享的編輯界面
設(shè)置彈出分享菜單键畴,直接點擊菜單中的平臺分享(跳過分享的編輯界面)挚赊。
#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/SSUIShareActionSheetController.h>
//先構(gòu)造分享參數(shù):
?NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
? [shareParams SSDKSetupShareParamsByText:@"分享內(nèi)容"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?images:@[[UIImage imageNamed:@"shareImg.png"]]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? url:[NSURL URLWithString:@"http://mob.com"]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? title:@"分享標(biāo)題"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?type:SSDKContentTypeAuto];
? //有的平臺要客戶端分享需要加此方法,例如微博
? [shareParams SSDKEnableUseClientShare];
? //調(diào)用分享的方法
?SSUIShareActionSheetController *sheet = [ShareSDK showShareActionSheet:view
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?items:nil
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?shareParams:shareParams
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?switch (state) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case SSDKResponseStateSuccess:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NSLog(@"分享成功!");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case SSDKResponseStateFail:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NSLog(@"分享失敗%@",error);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?case SSDKResponseStateCancel:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NSLog(@"分享已取消");
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?default:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}];
? ?//刪除和添加平臺示例
?[sheet.directSharePlatforms removeObject:@(SSDKPlatformTypeWechat)];(默認(rèn)微信碧库,QQ堪夭,QQ空間都是直接跳客戶端分享,加了這個方法之后惹想,可以跳分享編輯界面分享)
?[sheet.directSharePlatforms addObject:@(SSDKPlatformTypeSinaWeibo)];(加了這個方法之后可以不跳分享編輯界面问词,直接點擊分享菜單里的選項,直接分享)
四嘀粱、隱藏“微信收藏”平臺
? [ShareSDK registerActivePlatforms:@[
? ? ? ? ? ? ? ? ? ? ? ? ? ? // 不要使用微信總平臺進(jìn)行初始化
? ? ? ? ? ? ? ? ? ? ? ? ? ? //@(SSDKPlatformTypeWechat),
? ? ? ? ? ? ? ? ? ? ? ? ? ? // 使用微信子平臺進(jìn)行初始化激挪,即可
? ? ? ? ? ? ? ? ? ? ? ? ? ? @(SSDKPlatformSubTypeWechatSession),
? ? ? ? ? ? ? ? ? ? ? ? ? ? @(SSDKPlatformSubTypeWechatTimeline)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ]
? ? ? ? ? ?onImport:^(SSDKPlatformType platformType)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?switch (platformType)
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ?case SSDKPlatformTypeWechat:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ShareSDKConnector connectWeChat:[WXApi class]];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ?}
? ? ? ? ? onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo)
? ? ? ? ? {
? ? ? ? ? ? ? switch (platformType)
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ?case SSDKPlatformTypeWechat:
? ? ? ? ? ? ? ? ? ? ? [appInfo SSDKSetupWeChatByAppId:@"wx4868b35061f87885"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? appSecret:@"64020361b8ec4c99936c0e3999a9f249"];
? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ?default:
? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? }
? ? ? ? ? }];
五辰狡、(分享菜單)平臺順序自定義
ShareSDK提供的UI ?(分享菜單) 平臺順序自定義。
? ? //分享
? ? [ShareSDK showShareActionSheet:nil
? ? ? ? ? ? ? ? ? ? ? ?//將要自定義順序的平臺傳入items參數(shù)中
? ? ? ? ? ? ? ? ? ? ? ?items:@[@(SSDKPlatformTypeMail),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeSMS),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeCopy),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeFacebook),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeTwitter),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeWechat),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@(SSDKPlatformTypeQQ)]
? ? ? ? ? ? ? ? ? ? ? ?shareParams:shareParams
? ? ? ? ? ? ? ?onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) { .......}];
六垄分、自定義分享菜單項
如果想在我們的分享菜單上添加一個自己的按鈕宛篇,處理自己想要做的事件,如下所示: