【发布时间】:2018-08-15 08:18:52
【问题描述】:
我在UIViewController 中有一个股票标准UICollectionView,它是它的代表。然而,shouldShowMenuForItemAt 函数不需要长按。我添加了一个didSelectItemAt 函数,它在单击单元格时会被调用,以确保代理确实正确连接。
我还实现了 canPerformAction 以在委托中返回 true 和 performAction 以及 canPerformAction 和 canBecomeFirstResponder 在我的 UICollectionViewCell 子类中返回 true。长按单元格时不会调用这些函数。有什么建议吗?
【问题讨论】:
-
试试这个答案的解决方案:stackoverflow.com/a/39956745/6126595
-
@BartoszKunat 我会试一试,但它似乎是一种反模式。从文档来看,这个方法应该由集合视图调用,而不需要这个 hack。
-
在我的机器上,菜单处理“正常”。无需任何黑客攻击。您可能正在做一些干扰长按手势识别器的操作。
-
@matt 这也是我的期望。我创建了一个示例项目,其中只有一个来自 IB 的集合视图,并且上面提到的 func 已连接起来,显示了这个问题。
-
那么您的示例项目成功了吗?如果没有,看看一个有效的例子对你有帮助吗?
标签: ios swift uicollectionview uicollectionviewcell