我想给UICollectionView项基本上一个按钮行为,至少部分而不是真的想要将广告按钮作为子视图,因为我想利用集合视图的标准选择方法和所涉及的协议。
我想让项目成为一个切换按钮,虽然这样做的路径看起来很简单,但它实际上并没有工作。
首先我实施了
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
然后我打电话给
- (void)deselectItemAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated
来自一个单独的委托方法。该方法似乎被正确调用,但item不会更改选择属性。实际上,当检查"选择"物品的属性,来自" didSelectItemAtIndexPath"委托方法,我发现该属性始终为NO,尽管背景已相应改变...
有趣的是我自己无法改变这个值,虽然这个属性没有被定义为只读....
有没有人破解类似的坚果?或者我们可以说这很可能是错误的东西?
答案 0 :(得分:0)
也许在单元格中设置_isSelected BOOL。在单元格的子类中设置为false
然后在selectedCellForRow ......
[cell applySelection];
在子类细胞中:
-(void)applySelection{
if(_isSelected){
_isSelected=false;
self.setImage (or whatever you want to do, do signify not selected)
}else{
_isSelected=true;
//do whatever to signify selection
}