3

所以我有一个 uicollectionview,它驻留在视图控制器内,在这个 VC 中我有一些按钮和其他控件,我将数据加载到 CollectionView 中,我无法检测到对 collectionview 的点击,但它对滚动的响应很好。我能想到的是,有时我在我的视图中的所有子视图(包括集合视图)上启用用户交互,并且这在没有控件起作用的意义上是有效的,然后基于另一个条件我启用活动。

这是代码示例

if (_isMenuVisible) {
  for (UIView *subview in [self.actualView subviews]) {
     if([subview isMemberOfClass:[UIButton class]] || [subview isMemberOfClass:[UILabel class]] ||   [subview isMemberOfClass:[UIView class]]) {
        subview.userInteractionEnabled = _isMenuVisible;
     }
     else {
        subview.userInteractionEnabled = !_isMenuVisible;
     }
  }
}
else {
  for (UIView *subview in [self.actualView subviews]) {
        subview.userInteractionEnabled = !_isMenuVisible;
  }
}

这会影响行为吗?

4

1 回答 1

2

确保您的 ViewController 采用该UICollectionViewDelegate协议。然后,如上所述,只需覆盖collectionView:didSelectItemAtIndexPath:即可决定单击某个单元格时要执行的操作。

使用 indexPath 通过访问其行或部分属性来确定单元格的行或部分。

于 2013-11-05T06:11:41.193 回答