iOS6新特征:UIActivityViewController使用示例

来源:互联网 发布:淘宝分享宝贝在哪里 编辑:程序博客网 时间:2024/05/11 20:15

2. UIActivityViewController使用示例

UIActivityViewController ,出现于 iOS 6,在应用里为分享和操作数据提供了一个统一的服务接口。


下面大致介绍一下UIActivityViewController的使用
2、如何使用
1)定义ActivityItems,并初始化,这里我们给ActivityItems初始化了一个字符串,一个图片,还有一个URL。

2)初始化一个UIActivityViewController,使用第一步骤定义的ActivityItems进行初始化,这个参数是必须要有的,不能为空。而第二个参数applicationActivities可以为nil,详细内容可以参考iOS6新特征:UIActivityViewController类参考。

3)给activityVC的属性completionHandler写一个block。用以UIActivityViewController执行结束后,被调用,做一些后续处理。

4)以模态的方式展现activityVC。

看下面给出的关键代码

本帖隐藏的内容

01// 测试UIActivityViewController
02- (IBAction)ActivityVCAction:(id)sender
03{
04    // 首先初始化activityItems参数
05    NSArray *activityItems = [[NSArray alloc]initWithObjects:
06                              @\\"移动开发技术尽在DevDiv移动技术开发社区\\",
07                              @\\"http://www.DevDiv.com\\",
08                              [UIImage imageNamed:@\\"background1.png\\"], nil];
09     
10    // 初始化一个UIActivityViewController
11    UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:Nil];
12     
13    // 写一个bolck,用于completionHandler的初始化
14    UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,BOOL completed) {
15        NSLog(@\\"%@\\", activityType);
16        if(completed) {
17            NSLog(@\\"completed\\");
18        else
19        {
20            NSLog(@\\"cancled\\");
21        }
22        [activityVC dismissViewControllerAnimated:YES completion:Nil];
23    };
24     
25    // 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
26    activityVC.completionHandler = myBlock;
27     
28    // 以模态方式展现出UIActivityViewController
29    [self presentViewController:activityVC animated:YES completion:Nil];
30}


++++++++++++++++++++++++
简单使用上面足够,下面了解更多:
默认情况下,UIActivityViewController 将显示所有可用于所提供内容的服务,但我们也可以排除特定的 Activity 类型。
  1. activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook]; 
 
Activity 类型又分为“操作”和“分享”两大类:
UIActivityCategoryAction
1. UIActivityTypePrint
2. UIActivityTypeCopyToPasteboard
3. UIActivityTypeAssignToContact
4. UIActivityTypeSaveToCameraRoll
5. UIActivityTypeAddToReadingList
6. UIActivityTypeAirDrop
 
UIActivityCategoryShare
1. UIActivityTypeMessage
2. UIActivityTypeMail
3. UIActivityTypePostToFacebook
4. UIActivityTypePostToTwitter
5. UIActivityTypePostToFlickr
6. UIActivityTypePostToVimeo
7. UIActivityTypePostToTencentWeibo
8. UIActivityTypePostToWeibo
 
每个 Activity 类型都支持好多种不同的数据类型。例如,一条 Tweet 可能由 NSString 以及一个附加的图像 和/或 URL 所组成。
 
不同的 Activity 类型所支持的数据类型 





参考: http://www.cocoachina.com/industry/20140425/8233.html

0 0
原创粉丝点击