iOS开发 - UIActivityViewController详解

昨天在做微信分享的时候, 用到了这个东西。趁热写点东西记录下。


UIActivityViewController类是一个标准的view controller,通个使用这个controller,你的应用程序就可以提供各种服务。

系统提供了一些通用的标准服务,例如拷贝内容至粘贴板、发布一个公告至社交网、通过email或者SMS发送内容。

应用程序同样可以自定义服务。(我的微信分享就属于自定义服务, 之后将会写一篇教程介绍)

你的应用程序负责配置、展现和解雇这个view controller。

viewcontroller的配置涉及到viewcontroller需要用到的具体的数据对象。(也可以指定自定义服务列表,让应用程序支持这些服务)。

在展现view controller时,必须根据当前的设备类型,使用适当的方法。在iPad上,必须通过popover来展现view controller。在iPhone和iPodtouch上,必须以模态的方式展现。


一。UIActivityViewController 类参考

继承自

UIViewController : UIResponder : NSObject

符合

NSCoding (UIViewController)

UIAppearanceContainer (UIViewController)

NSObject (NSObject)

框架

/System/Library/Frameworks/UIKit.framework

可用性

iOS6以及之后

声明在

UIActivityViewController.h



二。初始化Activity View Controller

?
1
- (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities;

根据指定的数据初始化并返回一个新的activity view controller。

参数

1.activityItems

在执行activity中用到的数据对象数组。数组中的对象类型是可变的,并依赖于应用程序管理的数据。例如,数据可能是由一个或者多个字符串/图像对象,代表了当前选中的内容。
数组中的对象,也可以通过UIActivityItemSource协议来代替,例如UIActivityItemProvider对象。源和提供者扮演代理的角色,根据实际情况,需要相应数据时再进行提供。这里, 分享的数据包括文本, 图像, 访问网址。 当然, 这些是可选项。 比如你不想添加url,只包含文本和图像也是可以的。这个数组不能为nil,至少要有一个对象。


2.applicationActivities

是一个UIActivity对象的数组,代表了应用程序支持的自定义服务。这个参数可以是nil。

返回值

返回一个将要展现的activity view controller。

使用示例

?
1
2
3
4
5
6
NSString *textToShare = @ "要分享的文本内容" ;
UIImage *imageToShare = [UIImage imageNamed:@ "iosshare.jpg" ];
NSURL *urlToShare = [NSURL URLWithString:@ "http://blog.csdn.net/hitwhylz" ];
NSArray *activityItems = @[textToShare, imageToShare, urlToShare];
 
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];




三。访问Completion Handler

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值