下图中可以输入文字,url,图片(注,这里图片只给出了一个路径,在实际app中,图片来源可能是图片拾取器或者照相机)
当点击发送至新浪微博按钮时,会看到下面的画面效果
下面大致介绍一下
SLComposeViewController
的使用
1、使用范围
3)写一个bolck,用于completionHandler的初始化
目前只能以模态的方式显示
2、如何使用
a)添加Social.framework至工程如下图所示
a)添加Social.framework至工程如下图所示
b)添加
#import<Social/Social.h>到相应的文件中
c)关键代码如下所示
主要步骤:
1)判断服务器是否可以访问
使用方法isAvailableForServiceType:
2)使用SLServiceTypeSinaWeibo来创建一个新浪微博view Controller
其中
SLServiceTypeFacebook 就是 Facebook
SLServiceTypeTwitter 就是 Twitter
SLServiceTypeWeibo 就是微博
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,只有等到以后苹果更新了相关的功能,才能用模拟器发送消息。
由于还没有设置微博账号信息,所以,你会看到如下画面