iOS UIActivityViewController实现原生分享AirDrop
2017-10-20 15:02
543 查看
勇~敢~的小伙伴们,你们好啊~
我今天做项目的时候我们项目中需要加一个下载功能,下载rar?zip?mp3?mp4?还是txt?我没有一个很好的方式把所有的文件格式打开,借用万能的UIActivityViewController使用手机上其他APP打开岂不是个最好的办法?
既然到这里,我就落实到实处,开始动手做。
效果如图:
![](http://img.blog.csdn.net/20171020151117707?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjI2NTQ0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
实现起来很简单,只要几行代码就可以解决问题。
applicationActivities数组内的对象必须是UIActivity类型的对象,代表的是iOS系统支持的我们自定义的服务。
UIActivityViewController只支持模态。present
另外还有一个不得不提到的就是excludedActivityTypes的属性。
excludedActivityTypes这个属性包含了所有不想在UIActivityViewController中展示的Item服务。excludedActivityTyped是一个字符串数组,所包含的内容必须是系统提供的UIActivity的ActivityType字符串,而系统提供的字符串如下:
如果我们不想展示AirDrop功能只需要设置
到此UIActivityViewController的简单使用就结束了,欢迎小伙伴儿们指出我的问题~
我今天做项目的时候我们项目中需要加一个下载功能,下载rar?zip?mp3?mp4?还是txt?我没有一个很好的方式把所有的文件格式打开,借用万能的UIActivityViewController使用手机上其他APP打开岂不是个最好的办法?
既然到这里,我就落实到实处,开始动手做。
效果如图:
UIActivityViewController
实现起来很简单,只要几行代码就可以解决问题。UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[videoURL] applicationActivities:nil]; UIPopoverPresentationController *popover = activity.popoverPresentationController; if (popover) { popover.permittedArrowDirections = UIPopoverArrowDirectionUp; } [self presentViewController:activity animated:YES completion:NULL];其中videoURL是NSURL类,当传输的是文件时用URL分享,文字用NSString,图片用UIImage,放在activityItems中。
applicationActivities数组内的对象必须是UIActivity类型的对象,代表的是iOS系统支持的我们自定义的服务。
UIActivityViewController只支持模态。present
excludedActivityTypes
另外还有一个不得不提到的就是excludedActivityTypes的属性。excludedActivityTypes这个属性包含了所有不想在UIActivityViewController中展示的Item服务。excludedActivityTyped是一个字符串数组,所包含的内容必须是系统提供的UIActivity的ActivityType字符串,而系统提供的字符串如下:
NSString *const UIActivityTypePostToFacebook; NSString *const UIActivityTypePostToTwitter; NSString *const UIActivityTypePostToWeibo; NSString *const UIActivityTypeMessage; NSString *const UIActivityTypeMail; NSString *const UIActivityTypePrint; NSString *const UIActivityTypeCopyToPasteboard; NSString *const UIActivityTypeAssignToContact; NSString *const UIActivityTypeSaveToCameraRoll; NSString *const UIActivityTypeAddToReadingList; NSString *const UIActivityTypePostToFlickr; NSString *const UIActivityTypePostToVimeo; NSString *const UIActivityTypePostToTencentWeibo; NSString *const UIActivityTypeAirDrop;
如果我们不想展示AirDrop功能只需要设置
activity.excludedActivityTypes = @[UIActivityTypeAirDrop];
到此UIActivityViewController的简单使用就结束了,欢迎小伙伴儿们指出我的问题~
相关文章推荐
- 使用UIActivityViewController实现AirDrop分享
- iOS UIActivityViewController 实现微信微博等等的分享功能
- iOS 原生UIActivityViewController(分享功能)
- iOS 通过UIActivityViewController实现更多分享服务
- iOS --- 使用UIActivityViewController实现分享功能
- 【IOS】利用UIActivityViewController实现分享视频,图片,链接
- iOS原生分享UIActivityViewController
- UIActivityViewController实现系统原生分享
- [iOS]使用UIActivityViewController实现AirDrop功能
- IOS 系统自带的分享功能之 UIActivityViewController
- IOS 6 UIActivityViewController详解 社交分享
- iOS 6分享列表——UIActivityViewController详解
- ios关于自带分享UIActivityViewController
- iOS UIActivityViewController 接入WeChatSDK 微信 朋友圈分享
- iOS 两种系统分享(配Demo下载)UIActivityViewController 和 SLComposeViewController
- iOS 6分享列表——UIActivityViewController详解
- iOS webview打印功能的实现(包含系统原生分享交互视图)
- iOS 6分享列表——UIActivityViewController详解
- iOS UIActivityViewController自定义分享配置
- 通过UIActivityViewController实现更多分享服务