【发布时间】:2016-08-19 10:01:26
【问题描述】:
我以编程方式创建了我的UICollectionView,在这种情况下我的didSelectItemAtIndexPath 方法根本不会调用。
let collectionView = UICollectionView(frame: CGRect(x: 0, y: 0, width: CGRectGetWidth(self.view.frame), height: 360), collectionViewLayout: layout)
collectionView.delegate = self
collectionView.dataSource = self
collectionView.userInteractionEnabled = true
那么,有什么问题吗?为什么当我点击单元格时没有得到响应?
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("Selected Cell: \(indexPath.row)")
}
【问题讨论】:
-
委托对象不是
nil? -
1) 尝试设置
Background Color的UICollectionView和UICollectionViewCell。看看它是否在屏幕上正确可见。 2) 在UICollectionView上设置userInteractionEnabled= true -
@pkc456 为什么?我已经看到了我的单元格,并且已经启用了 userInteraction
-
@Doe 这个测试练习只是交叉检查 UI 元素的位置。有时 UI 组件会被其他视图覆盖(由于错误的自动布局)。或者有时 UI 元素的框架在外部但在屏幕上可见,因此无法获得点击操作。
-
也许你在 vc 的视图中添加了一些手势识别器?
标签: ios swift uicollectionview uicollectionviewcell