继承自 | UIViewController : UIResponder : NSObject |
符合 | NSCoding (UIViewController) UIAppearanceContainer (UIViewController) NSObject (NSObject) |
框架 | /System/Library/Frameworks/UIKit.framework |
可用性 | iOS6以及之后 |
声明在 | UIActivityViewController.h |
UIActivityViewController类是一个标准的view controller,通个使用这个controller,你的应用程序就可以提供各种服务。系统提供了一些通用的标准服务,例如拷贝内容至粘贴板、发布一个公告至社交网、通过email或者SMS发送内容。应用程序同样可以自定义服务。
你的应用程序负责配置、展现和解雇这个view controller。view controller的配置涉及到viewcontroller需要用到的具体的数据对象。(也可以指定自定义服务列表,让应用程序支持这些服务)。在展现view controller时,必须根据当前的设备类型,使用适当的方法。在iPad上,必须通过popover来展现view controller。在iPhone和iPod touch上,必须以模态的方式展现。
<!--[if !supportLists]-->1.1.2. <!--[endif]-->任务初始化Activity View Controller– initWithActivityItems:applicationActivities:
根据指定的数据初始化并返回一个新的activity view controller。
访问Completion HandlercompletionHandler属性
当activity view controller被解雇时,completion handler会被执行。
MethodGroupexcludedActivityTypes属性
将不会被显示出来的服务列表。
<!--[if !supportLists]-->1.1.3. <!--[endif]-->属性completionHandler当activity view controller被解雇时,completion handler会被执行。
@property(nonatomic,copy) UIActivityViewControllerCompletionHandler completionHandler
讨论
当用户根据指定的数据完成了服务的选择操作,或者当用户解雇了view controller,那么view controller会执行completion handler,以便让你的应用程序知道用户操作的最终结果。
可用性
可用于iOS6.0以及之后
声明在
UIActivityViewController.h
excludedActivityTypes将不会被显示出来的服务列表。
@property(nonatomic,copy) NSArray *excludedActivityTypes
讨论
这个属性包含了一个字符串数组,其中每一个对应的值,你都可以在UIActivity对象的参数activityType中找到。在这里规定的每一个字符串表示该服务不想显示给用户。你可以通过该属性排除你认为不适合出现的服务。例如,你不想允许用户打印某个图片。如果这个属性的值是nil,讲不会有服务被排除。
这个属性的默认值是nil。
可用性
可用于iOS6.0以及之后
声明在
UIActivityViewController.h
<!--[if !supportLists]-->1.1.4. <!--[endif]-->实例方法initWithActivityItems:applicationActivities:根据指定的数据初始化并返回一个新的activity view controller。
。
- (id)initWithActivityItemsNSArray *)activityItems applicationActivitiesNSArray *)applicationActivities;
参数
activityItems
在执行activity中用到的数据对象数组。数组中的对象类型是可变的,并依赖于应用程序管理的数据。例如,数据可能是由一个或者多个字符串/图像对象,代表了当前选中的内容。
数组中的对象,也可以通过UIActivityItemSource协议来代替,例如UIActivityItemProvider对象。源和提供者扮演代理的角色,根据实际情况,需要相应数据时再进行提供。
这个数组不能为nil,至少要有一个对象。
applicationActivities
是一个UIActivity对象的数组,代表了应用程序支持的自定义服务。这个参数可以是nil。
返回值
返回一个将要展现的activity view controller。
讨论
根据当前的设备,由开发者负责使用适当的方法来展现和解雇view controller。在iPad上,必须通过popover来展现view controller。在其他设备上,必须以模态的方式展现。。
可用性
可用于iOS6.0以及之后
声明在
UIActivityViewController.h
<!--[if !supportLists]-->1.1.5. <!--[endif]-->常量UIActivityViewControllerCompletionHandler当activity view controller被解雇时,completion handler会被执行。
typedef void (^UIActivityViewControllerCompletionHandler)(NSString *activityType, BOOL completed);
讨论
Activity完成之后,或者activity view controller被解雇了,那么view controller的completion block会被执行。你可以使用这个block来执行任意与服务相关的代码。这个block的参数如下:
activityType
被用户选择的服务类型。如果是自定义的服务,这个值是由UIActivity对象的方法activityType返回的。如果是系统定义的activities,这个值是一个在UIActivity类参考中”Built-in Activity Types”列出来的字符串。
completed
如果服务被执行了,则返回YES,如果没有则返回NO。当用户没有选择一个服务,而是解雇了view controller,这个参数同样被设置为NO。
可用性
可用于iOS6.0以及之后
声明在
UIActivityViewController.h
(转载:米咔门户)