iOS开发~社区分享

1、概要

随着iOS平台逐渐成熟,连最初让人恼火的社区分享功能现在都变的几行代码就可以搞定,下面分享下“分享”功能原生实现。


2、实现

iOS6之前使用TWTweetComposeViewController实现分享功能,但iOS6之后改用SLComposeViewController实现,实现方式很简单,而且大同小异,下面看看SLComposeViewController如何实现,由于iOS5逐渐的淡出人们的视野,所以TWTweetComposeViewController可以忽略了!

以新浪微博分享为例:首先导入框架 #import <Social/Social.h>,不多说了,iOS开发基础内容。

- (void)shareWeibo {
    
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
            if (result == SLComposeViewControllerResultCancelled) {
                NSLog(@"取消");
            } else {
                NSLog(@"分享成功");
            }
            
            [controller dismissViewControllerAnimated:YES completion:Nil];
        };
        controller.completionHandler =myBlock;

        [controller setInitialText:@"我是此微博标题,告诉你可以点网页连接,可以跳转到百度首页!"];
        [controller addURL:[NSURL URLWithString:@"http://www.baidu.com"]];
        [controller addImage:[UIImage imageNamed:@"fb.png"]]; //微博中的图片,那张黑色的小图片
        
        [self presentViewController:controller animated:YES completion:Nil];
        
    }
    else{
        NSLog(@"分享功能不可用,请打开设置并找到相应分享平台,然后帐号登录。相当于在iOS设备中配置相应分享平台,和配置邮箱类似!");
    }
}


效果图:

注意:这个分享框是系统提供的,不需要自定义



苹果还提供了其它几种分享渠道:

 SLServiceTypeTwitter NS_AVAILABLE(10_8, 6_0);
 SLServiceTypeFacebook NS_AVAILABLE(10_8, 6_0);
 SLServiceTypeSinaWeibo NS_AVAILABLE(10_8, 6_0);
 SLServiceTypeTencentWeibo NS_AVAILABLE(10_9, 7_0);
 SLServiceTypeLinkedIn NS_AVAILABLE(10_9, NA);


补充:

1、如果发现点击分享后无反应,应该是没有配置相应分享平台的帐号,打开设置,找到相应平台,然后登录。然后在点击Demo中的分享就可以了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zfpp25_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值