iOS:系统自带的Social框架分享到twitter,facebook,flickr,微博

对于iOS6以上的系统来说,系统自带的Social框架可以满足很大一部分需求(更重要的是美观,易用,速度快)

首先加入框架的头文件
#import <Social/Social.h>

之后使用UIActivityViewController显示分享选项,代码如下:
    UIActivityViewController *avc = [[UIActivityViewController alloc]initWithActivityItems:@[@"abc",[NSURL URLWithString:@"http://www.baidu.com"]] applicationActivities:nil];
    avc.excludedActivityTypes = @[UIActivityTypeAirDrop];
    [self presentViewController:avc animated:YES completion:nil];

其中activityitems可以包括文字,图片和链接。系统默认的会将可用的分享模块加载到UIActivityViewController中,当然也可以使用excludeActivityTypes删除掉不需要的模块。
    UIActivityViewControllerCompletionHandler myblock = ^(NSString *type,BOOL completed){
        NSLog(@"%d %@",completed,type);
    };
    avc.completionHandler = myblock;
另外可以加上分享结束后调用的方法,这样可以判断用户分享到了哪里,是否分享成功。


如果想要自定义分享模块的界面不是用UIActivityViewController可以使用SLComposeViewController进行单独的分享模块展示,具体如下:
    SLComposeViewController *svc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    SLComposeViewControllerCompletionHandler myblock = ^(SLComposeViewControllerResult result){
        if(result == SLComposeViewControllerResultCancelled){
            NSLog(@"cancel");
        }else{
            NSLog(@"done");
        }
        [svc dismissViewControllerAnimated:YES completion:nil];
    };
    svc.completionHandler = myblock;
    [svc setInitialText:@"abc"];
    [svc addURL:[NSURL URLWithString:@"http://www.baidu.com"]];
    [self presentViewController:svc animated:YES completion:nil];

具体的应该都可以自己领会,另外一些属性可以查看头文件得到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值