iOS分享控制器研究

2017-07-20  本文已影响40人  我是小胡胡分胡

UIActivityViewController

1、交互类型

操作-action在第三排显示
拷贝、打印、复制、幻灯片、airplay、隐藏、指定给联系人、用做墙纸、添加到icloud dirve
赠礼、拷贝链接
添加到屏幕、添加到个人收藏、添加书签、加入阅读列表、拷贝、打印、在页面上查找、请求桌面站点
存储图像

通过airdrop共享 -在第一排显示
(activityType:
com.apple.UIKit.activity.AirDrop)

分享-在第二排显示
短信、邮件、提醒事项、twitter、facebook、微博、腾讯微博、微信、qq、企业微信、小秘圈
支付宝、save to board(印象笔记)

qq,小秘圈,企业微信 不支持数据数组分享,自动从数组中截取1条数据
微信不支持文本类型的分享
新浪微博、邮件、短信,支持多条数据分享

2、交互的数据

字符串、属性字符串、url、data、图像、asset、
其它(sms:// nsurl,fileUrl, uiprintformatter,uiprintinfo,uiprintpagerender,uicolor,nsdictionary)

sandbox_extension_issue_file failed for file: bundle里面的数据无法传输。

nsdata 、uiimage, fileurl 不能同时传输。传fileurl就不要同时传nsdata,uiimage
存储图像需要info.plist添加Key——NSPhotoLibraryUsageDescription

3,自定义交互

1)
操作
分享
UIActivity

activityCategory:是操作按钮还是分享按钮
activityType:新定义一个标示字符串, UIActivityItemProvider与此对应.
activityTitle:图标名称
activityImage:图标的图片名称

2)
内容
UIActivityItemProvider

activityType:与UIActivity对应。确定该数据的图标展示样式
item:交互的数据

需要显示什么样的按钮,
(默认有15中activityType的UIActivity, 自定义的UIActivity)。
比如想自定义图标和图标title,以及点击后的操作行为,就自定义UIActivity

需要共享什么样的数据,
(默认的item:字符串、属性字符串、url、data、图像、asset, 自定义UIActivityItemProvider)

UIActivityViewController:
initWithActivityItems:applicationActivities:第一个参数就是设定数据,第二个参数设定交互按钮

4,分享扩展

5,操作扩展

上一篇下一篇

猜你喜欢

热点阅读