所以,我创建了一个基本的活动视图控制器,其中包含最需要的参数,并且按照预期调用它,但是!
在展示后,您无法点按任何项目,但底部的“取消”除外。
在几个站点上查看,在调试模式等,尚未找到任何结果。
实施
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)
}
免责声明:似乎清理项目,重置手机和重建没有任何区别..
任何帮助都将受到高度赞赏!!
答案 0 :(得分:0)
我发现了这个错误,这里是回顾和解决方案:
小结:
我为常见的UIViewController创建了一个扩展,其中我覆盖了touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
方法。
它从未被调用过,并且停止了我的预期行动。它没有允许我在表格视图中选择任何表视图单元格,我添加到视图中 - 缺少点击手势识别器。
更令人沮丧的部分导致活动视图控制器无法选择,但滚动条正常工作 - 我开始意识到问题可能出在哪里。
解决方案:
从UIViewController扩展中删除touchesBegan(...)
,并创建了一个BaseViewController,我继承了每个视图控制器,并使用该touchesBegan(...)
函数扩展了BaseViewController功能。现在,我可以通过点击它们来选择呈现的应用程序。干杯!