iOS6新特征:UIActivityViewController使用示例

本文介绍了iOS中UIActivityViewController的使用方法,包括初始化活动项、设置完成处理回调及展示控制器等关键步骤。此外还提供了如何排除特定活动类型的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值