【发布时间】:2018-10-21 09:54:19
【问题描述】:
我目前有一个UICollectionView,我希望能够在其中展示activityViewController 以启用共享(不是来自单元格,而是来自collectionView 中的UIView)。问题是下面的代码不起作用,因为present() 是一个 viewController 方法。
let activityViewController = UIActivityViewController(activityItems: [test], applicationActivities: nil)
present(activityViewController, animated:true, completion:nil)
我尝试创建一个viewController 的实例来调用present(),但这不起作用,因为它不在视图层次结构中。
我找到的最接近答案的是提到了一个弱代表,但我不知道如何让它发挥作用。
寻找有关如何使这项工作的任何想法。谢谢
更新
我的层次结构包含一个 viewController HomeViewController,然后我在屏幕的下半部分显示一个 collectionView routeDetailCollectionView。在routeDetailCollectionView 内,我有一个 UIView routeHeaderView 包含 UIButton shareButton。我想在按下shareButton 时显示ios 共享菜单。
【问题讨论】:
-
您在哪里展示
UIActivityViewController?请添加代码。 -
你必须从 visibleViewController 中呈现它。如果直接添加在主视图中,则可以从 UIcollectionview 的 superview 中获取。
-
@MehulSojitra collectionView 添加在 homeViewController 之上,所以我认为它没有真正的 superview
-
@ivarun 我试图让我的设置更清楚一点,但代码是大型应用程序的一部分,因此发布更多代码可能会使这比需要的更复杂跨度>
标签: ios swift uicollectionview swift4 uiactivityviewcontroller