【问题标题】:UICollectionView, Cell selection not working, cell scrolls fineUICollectionView,单元格选择不起作用,单元格滚动正常
【发布时间】:2013-11-05 03:46:25
【问题描述】:

所以我有一个 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;
  }
}

这会影响行为吗?

【问题讨论】:

  • 在上面的代码中设置断点并检查是否禁用了用户交互..
  • 你在设置UICollectionView的delegate属性吗?为了响应集合视图单元格的选择,您应该在集合视图的委托上实现collectionView:didSelectItemAtIndexPath:

标签: ios objective-c uiviewcontroller uicollectionview


【解决方案1】:

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

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

【讨论】:

  • 请详细说明这是什么:UICollectionViewCellDelegate?
  • iOS SDK 中没有这个。请不要混蛋@AdamWaite
  • 嗯@Marchy?什么都没说?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
相关资源
最近更新 更多