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

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



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


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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值