iOS6增加了新特性UIActivityViewController,通个使用这个controller,你的应用程序就可以提供各种服务,例如发送短消息和邮件,复制内容到剪贴板之后发布消息到Twitter,Facebook以及微博。
本篇文章将会告诉你如何使用UIActivityViewController把信息发送到iOS系统通用的标准服务,我还会告诉你怎么定制在viewcontroller中显示的服务列表。
创建UIActivityViewController
//
创建内容
NSString *message = @"The Farm";
UIImage *image = [UIImage imageNamed:@"Farm.jpg"];
NSArray *arrayOfActivityItems = [NSArray arrayWithObjects:message, image, nil];
//
显示view controller
UIActivityViewController *activityVC = [[[UIActivityViewController alloc]
initWithActivityItems: arrayOfActivityItems applicationActivities:nil] autorelease];
在模拟器上viewcontroller看上去是下面这个样子(我不明白为什么Messages应用的图标为什么没显示出来):
如果你想要定制自己的服务列表,你可以指定一系列的串字符串,每串字符串是activityType,代表你不想在viewcontroller中显示的服务。
//
定制需要展示的服务
activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypeMessage,
UIActivityTypeSaveToCameraRoll, UIActivityTypePrint, UIActivityTypePostToWeibo,
UIActivityTypeCopyToPasteboard];
这样设置之后,view controller会是下面这样。
下次我会教你如果创建Activit来支持客服系统。
来源:http://mobiledevelopertips.com