iOS6新特征:SLComposeViewController [新浪微博] 使用示例

下图中可以输入文字,url,图片(注,这里图片只给出了一个路径,在实际app中,图片来源可能是图片拾取器或者照相机)



当点击发送至新浪微博按钮时,会看到下面的画面效果



下面大致介绍一下 SLComposeViewController 的使用
1、使用范围
目前只能以模态的方式显示

2、如何使用
 
  a)添加Social.framework至工程如下图所示


      
    b)添加 #import<Social/Social.h>到相应的文件中

    c)关键代码如下所示
主要步骤:
    1)判断服务器是否可以访问
        使用方法isAvailableForServiceType:
    2)使用SLServiceTypeSinaWeibo来创建一个新浪微博view Controller
        其中
        SLServiceTypeFacebook 就是 Facebook
        SLServiceTypeTwitter 就是 Twitter
        SLServiceTypeWeibo 就是微博

     3)写一个bolck,用于completionHandler的初始化
    4)给view controller初始化默认的图片,url,文字信息
    5)以模态的方式展现view controller

01	// 发送新浪微博
02	- (IBAction)WeiboAction:(id)sender
03	{   
04	    // 首先判断服务器是否可以访问
05	    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
06	        NSLog(@\\"Available\\");
07	         
08	        // 使用SLServiceTypeSinaWeibo来创建一个新浪微博view Controller
09	        SLComposeViewController *socialVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
10	
11	        // 写一个bolck,用于completionHandler的初始化
12	        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result) {
13	            if (result == SLComposeViewControllerResultCancelled) {
14	                NSLog(@\\"cancelled\\");
15	            } else
16	            {
17	                NSLog(@\\"done\\");
18	            }
19	            [socialVC dismissViewControllerAnimated:YES completion:Nil];
20	        };
21	        // 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
22	        socialVC.completionHandler = myBlock;
23	
24	        // 给view controller初始化默认的图片,url,文字信息
25	        UIImage *image = [UIImage imageNamed:postImage.text];
26	        NSURL *url = [NSURL URLWithString:postUrl.text];
27	         
28	        [socialVC setInitialText:postText.text];
29	        [socialVC addImage:image];
30	        [socialVC addURL:url];
31	
32	        // 以模态的方式展现view controller
33	        [self presentViewController:socialVC animated:YES completion:Nil];
34	
35	    } else {
36	        NSLog(@\\"UnAvailable\\");
37	    }
38	}



【注】由于目前苹果提供的iOS6模拟器上设置中还没有集成新浪微博的账号填写功能,通过下面的画面可以看到,模拟器只有Twitter和Facebook,只有等到以后苹果更新了相关的功能,才能用模拟器发送消息。


由于还没有设置微博账号信息,所以,你会看到如下画面


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值