Mah*_*dam 7 ios uiactivityviewcontroller swift3 ios11
我正在使用UIActivityViewController共享webview网址iOS 11和使用时Copy然后转到消息应用然后粘贴,它被粘贴两次.
出于好奇,我尝试使用Safari,Chrome,Firefox以及除消息之外的其他应用程序.结果很有趣:
这是我的简单代码
func shareURL(title: String, url: URL) {
var activityItems = [AnyObject]()
activityItems.append(TitleActivityItemProvider(title: title))
activityItems.append(url as AnyObject)
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
self.present(activityViewController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
这是TitleActivityItemProvider班级
class TitleActivityItemProvider: UIActivityItemProvider {
static let activityTypesToIgnore = [UIActivityType.copyToPasteboard]
init(title: String) {
super.init(placeholderItem: title)
}
override var item : Any {
if let activityType = activityType {
if TitleActivityItemProvider.activityTypesToIgnore.contains(activityType) {
return NSNull()
}
}
return placeholderItem! as AnyObject
}
override func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivityType?) -> String {
return placeholderItem as! String
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误,iOS 11或者我应该考虑在工作时做出具体的改变UIActivityViewController
== ==更新
我注意到当我评论添加TitleActivityItemProvider它工作正常,当我添加它,它复制网址然而我UIActivityType.copyToPasteboard在标题提供程序中忽略并返回NSNull()
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |