前言
NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIActivityViewController : UIViewController
@available(iOS 6.0, *) public class UIActivityViewController : UIViewController
- UIActivity 是 iOS 6.0 开始的一个十分有用的控件,可以十分方便的将文字、图片等内容进行分享,比如分享到微信、新浪微博、发邮件、发短信等。我们不仅可以分享内容出来,也可以在自己的 App 里添加自定义的分享按钮或者隐藏已有的分享按钮来实现定制的功能。
1、系统 activityViewController 的创建
Objective-C
// 设置分享的内容 NSString *textToShare = @"请大家登录《iOS云端与网络通讯》服务网站。"; UIImage *imageToShare = [UIImage imageNamed:@"swift"]; NSURL *urlToShare = [NSURL URLWithString:@"http://m.baidu.com"]; // 创建分享视图控制器 /* activityItems: 分享的内容 applicationActivities: 分享的类型,默认(nil)时为 UIActivity */ UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[textToShare, imageToShare, urlToShare] applicationActivities:nil]; // 设置不出现的分享按钮 /* Activity 类型又分为 “操作” 和 “分享” 两大类: UIActivityCategoryAction 操作: UIActivityTypeAirDrop AirDrop AirDrop UIActivityTypePrint 打印 Print UIActivityTypeSaveToCameraRoll 保存到相册 Save Image UIActivityTypeAssignToContact 添加到联系人 AssignToContact UIActivityTypeAddToReadingList 添加到 Safari 阅读列表 AddToReadingList UIActivityTypeCopyToPasteboard 复制到剪贴板 Copy UIActivityCategoryShare 分享: UIActivityTypeMail 邮箱 Mail UIActivityTypeMessage 短信 Message UIActivityTypePostToTwitter 分享到 Twitter UIActivityTypePostToFacebook 分享到 Facebook UIActivityTypePostToVimeo 分享到 Vimeo(视频媒体) UIActivityTypePostToFlickr 分享到 Flickr(网络相簿) UIActivityTypePostToWeibo 分享到 新浪微博 UIActivityTypePostToTencentWeibo 分享到 腾讯微博 添加到此数组中的系统分享按钮项将不会出现在分享视图控制器中 */ activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint]; // 显示分享视图控制器 [self presentViewController:activityViewController animated:YES completion:nil]; // 分享完成 activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, NSArray *returnedIte