UIActivityViewController的应用程序将不会被选中
问题描述:
所以,我创建了一个基本的活动视图控制器,它具有最需要的参数,并且如预期的那样被调用,但是!UIActivityViewController的应用程序将不会被选中
呈现后,您不能点击任何项目,但底部的“取消”除外。
在几个网站上看到,在调试模式等,没有找到结果。
实现:
func shareViaOther() {
let body = Constants.ShareContent.title + "\n\n" + Constants.ShareContent.body
let image = UIImage(named: Constants.ImageNames.appIcon)!
let url = Constants.ShareContent.url!
let items: [Any] = [body, image, url]
let activityVC = UIActivityViewController(activityItems: items, applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = view
activityVC.excludedActivityTypes = [
UIActivityType.postToWeibo,
UIActivityType.postToTencentWeibo,
UIActivityType.postToVimeo,
UIActivityType.postToFlickr,
UIActivityType.saveToCameraRoll,
UIActivityType.assignToContact,
UIActivityType.print,
UIActivityType.copyToPasteboard
]
present(activityVC, animated: true, completion: nil)
}
免责声明:好像清洗项目,重设手机和重建没有任何区别..
任何帮助,将不胜感激!
答
我发现的bug,这里的概括和解决方案:
回顾:
我创造了共同的UIViewController的延伸,在我推翻了touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
方法。 它从来没有被称为,并停止像我预期的行事。它不允许我在添加到视图的表视图中选择任何表视图单元格 - 缺少轻击手势识别器。
更令人沮丧的部分是导致活动视图控制器无法选择,但滚动工作正常 - 这就是我意识到问题可能发生的地方。
解:
从UIViewController中扩展删除touchesBegan(...)
,创造了BaseViewController我继承从每一个视图控制器和扩展与touchesBegan(...)
功能BaseViewController能力。现在我可以通过点击它们来选择所呈现的应用程序。干杯!