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

Posted

技术标签:

【中文标题】UICollectionView,单元格选择不起作用,单元格滚动正常【英文标题】:UICollectionView, Cell selection not working, cell scrolls fine 【发布时间】: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: 【参考方案1】:

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

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

【讨论】:

请详细说明这是什么:UICollectionViewCellDelegate? ios SDK 中没有这个。请不要混蛋@AdamWaite 嗯@Marchy?什么都没说?

以上是关于UICollectionView,单元格选择不起作用,单元格滚动正常的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 中的 Swift UICollectionView 不起作用

如何限制 UICollectionView 中的可选单元格

UICollectionView 单元格的自定义委托 - 自定义按钮不起作用

UICollectionView:ScrollToItem 到中心单元格在水平集合视图上不起作用

在单元格文本字段的 textFieldShouldEndEditing 方法中调用 UICollectionView 重新加载数据不起作用

自动调整嵌入在 UITableView 中的 UICollectionView 单元格不起作用