UICollectionViewCells和Buttons

时间:2013-06-18 11:21:08

标签: ios ios6 uicollectionview uicollectionviewcell

我一直试图让我的UICollectionView对单击和双击的反应不同,但我发现的所有答案似乎都表明这不可行,因为首先会识别单击。它适用于非常慢的水龙头,但任何更快的东西总是启动默认的手势识别器(如果有人让这个工作,我很想知道)......

所以无论如何,我现在已经在我的UICollectionViewCell(它有自己的类和NIB文件)中放置了按钮。

问题是:

在collectionView的UIViewController中使用按钮的最佳方法是什么?

我目前在UICollectionViewCell的子类的标头中有一个协议,并将我的viewController声明为委托并实现了所需的协议功能。

collectionView:cellForItemAtIndexPath:中,我将VC设置为单元格的委托。

一切正常,但似乎有点啰嗦,也许不是一个好方法。

我想到的另一种方式是,而不是使用代理人只需在addTarget:Action:中的UICollectionViewCell的属性上调用collectionView:cellForItemAtIndexPath:

这似乎更简单,但代表模式在我看来更合适。

任何和所有建议都会更好,为什么,以及任何更合适的替代方案受到欢迎!

感谢。

2 个答案:

答案 0 :(得分:2)

你正在使用委托模式做正确的思考。视图的任何操作的最终负责对象是显示这些视图的viewController。因此,将它用作您单元格协议的委托是恰到好处。

答案 1 :(得分:-1)

创建UICollectionViewCell的自定义子视图,并将您的按钮放在initWithFrame方法中。声明该按钮是公开的,以便您稍后可以在uicollectionviewcontrolleruicollectionview中使用它,如果以编程方式创建的话。