现在的位置: 首页 > 综合 > 正文

iOS6新特征:UIActivityViewController类参考

2014年10月06日 ⁄ 综合 ⁄ 共 2731字 ⁄ 字号 评论关闭
文章目录

1.1.UIActivityViewController 类参考

继承自

UIViewController : UIResponder : NSObject

符合

NSCoding (UIViewController)

UIAppearanceContainer (UIViewController)

NSObject (NSObject)

框架

/System/Library/Frameworks/UIKit.framework

可用性

iOS6以及之后

声明在

UIActivityViewController.h

 

1.1.1.概述

UIActivityViewController类是一个标准的view controller,通个使用这个controller,你的应用程序就可以提供各种服务。系统提供了一些通用的标准服务,例如拷贝内容至粘贴板、发布一个公告至社交网、通过email或者SMS发送内容。应用程序同样可以自定义服务。

你的应用程序负责配置、展现和解雇这个view controller。viewcontroller的配置涉及到viewcontroller需要用到的具体的数据对象。(也可以指定自定义服务列表,让应用程序支持这些服务)。在展现view controller时,必须根据当前的设备类型,使用适当的方法。在iPad上,必须通过popover来展现view controller。在iPhone和iPodtouch上,必须以模态的方式展现。

 

1.1.2.任务

初始化Activity View Controller

–initWithActivityItems:applicationActivities:

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

 

访问Completion Handler

completionHandler属性

当activityview controller被解雇时,completion handler会被执行。

 

MethodGroup

excludedActivityTypes属性

将不会被显示出来的服务列表。

 

1.1.3.属性

completionHandler

当activityview 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

 

 

1.1.4.实例方法

initWithActivityItems:applicationActivities:

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

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

 

参数

activityItems

在执行activity中用到的数据对象数组。数组中的对象类型是可变的,并依赖于应用程序管理的数据。例如,数据可能是由一个或者多个字符串/图像对象,代表了当前选中的内容。

数组中的对象,也可以通过UIActivityItemSource协议来代替,例如UIActivityItemProvider对象。源和提供者扮演代理的角色,根据实际情况,需要相应数据时再进行提供。

这个数组不能为nil,至少要有一个对象。

 

applicationActivities

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

 

返回值

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

 

讨论

根据当前的设备,由开发者负责使用适当的方法来展现和解雇view controller。在iPad上,必须通过popover来展现viewcontroller。在其他设备上,必须以模态的方式展现。。

 

可用性

可用于iOS6.0以及之后

 

声明在

UIActivityViewController.h

 

1.1.5.常量

UIActivityViewControllerCompletionHandler

当activityview 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-inActivity Types”列出来的字符串。

 

completed

如果服务被执行了,则返回YES,如果没有则返回NO。当用户没有选择一个服务,而是解雇了view controller,这个参数同样被设置为NO。

 

可用性

可用于iOS6.0以及之后

 

声明在

UIActivityViewController.h

抱歉!评论已关闭.