-
昨天在做微信分享的时候, 用到了这个东西。趁热写点东西记录下。
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。
使用示例
123456NSString *textToShare = @
"要分享的文本内容"
;
UIImage *imageToShare = [UIImage imageNamed:@
"iosshare.jpg"
];
NSArray *activityItems = @[textToShare, imageToShare, urlToShare];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
三。访问Completion Handler
iOS开发 - UIActivityViewController详解
最新推荐文章于 2024-02-02 10:39:56 发布