ios - UICollectionView,单元格选择不起作用,单元格滚动正常

标签 ios objective-c uiviewcontroller uicollectionview

所以我有一个 uicollectionview,它驻留在 View Controller 中,在这个 VC 中我有一些按钮和其他控件,我将数据加载到 CollectionView 中,我无法检测到对 collectionview 的点击,但它可以很好地响应滚动. 我所能想到的是,有时我会在我的 View (包括 Collection View )中的所有 subview 上启用用户交互,并且在没有控件工作的意义上这是有效的,然后基于另一个条件我启用事件。

这是代码示例

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;
  }
}

这会影响行为吗?

最佳答案

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

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

关于ios - UICollectionView,单元格选择不起作用,单元格滚动正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19781608/

相关文章:

iphone - 如何在不安装xCode的情况下设置PhoneGap?

ios - 为 RideIntent 创建自定义 CLPlacemark

ios - iOS 配置文件是否有最大尺寸?

ios - ALL 或 ANY 运算符的左侧必须是 NSArray 或 NSSet

objective-c - 我可以有一个弱静态指针吗?

objective-c - XCode 8 - 如何解决 XCode 8.0 版的自动调整大小问题?

ios - 为什么我会延迟加载 NSBundle MobileCoreServices.framework?

ios - 将数据从一个 View Controller 传递到另一个给出 null

ios - 警告 : attempt to present ViewController whose view is not in the window hierarchy

ios - 为什么 UILabel 会增加内存使用量?