【发布时间】:2012-09-13 10:21:43
【问题描述】:
我目前正在开发一个 iPad 应用项目。主屏幕是UICollectionView 和AlbumCell,是UICollectionViewCell 的子类。现在我想添加一个UILongPressGestureRecognizer 来弹出一个UIActionSheet。
首先我在UICollectionViewController 中尝试过,但我认为这不是添加这些的正确位置。所以我最好的猜测是在AlbumCell 类中添加手势?然后可能将自己添加为委托,因此它可以捕获自己的手势。
到目前为止,这是一个好的方法吗?
捕捉到手势后,我应该显示UIActionSheet。现在,当用户在编辑模式下选择一个单元格时,我在UICollectionViewController 中打开它。但是我应该像现在一样调用UICollectionViewController 上的方法来打开它吗?还是单元格应该处理它自己的UIActionSheet?
最终我得让UICollectionViewController做什么,可能是让他打开UIActionSheet,或者根据结果进行处理。 AlbumCell应该如何与之“沟通”?
这是我一直在努力解决的问题,不仅仅是在这个用例中。方法是否接近,或者我应该完全不同地处理这些操作?
【问题讨论】:
-
这是有道理的。但是公认的应该加到cell子类中?
-
是的,因为单元格将被重复使用。
-
好的。到目前为止一切都清楚了,但是我应该如何让视图控制器知道其中一个单元格被按下了,以及哪个单元格被按下了?
-
您可以创建类似 iVar 的索引作为单元格的标签。
标签: objective-c ios6 uicollectionview