我正在UITableView裏面的UITableViewCell裏面有一個UICollectionView的項目。我爲我的UICollectionViewCell使用了一個XIB,它包含一個ImageView,另一個XIB用於包含UICollectionView的UITableViewCell。我設法顯示所需的東西,但是,我的自定義集合視圖單元格不響應任何觸摸事件。經過一番研究,我曾嘗試:UITollectionViewCell裏面的UITableViewCell沒有響應動作
- 關閉「用戶交互啓用」在UITableView的&的UITableViewCell在Interface Builder和編程,同時打開兩個的UICollectionView和UICollectionViewCell
- 「用戶交互啓用」
設置爲代表的UITableViewCell的,在我的自定義的UITableViewCell類實現UICollectionViewDelegate和UICollectionViewDataSource
collectionView.delegate = self collectionView.dataSource = self
我們內部的UICollectionView荷蘭國際集團UICollectionView
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { // my implementation here }
的委託方法在cellForItemItemAt
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(MyCustomTableViewCell.cellTapped)) tapRecognizer.numberOfTapsRequired = 1 cell.addGestureRecognizer(tapRecognizer)
添加自定義UITapGestureRecognizer每個單元使用的UITableViewCell,UICollectionView和UICollectionViewCell的自定義實現,覆蓋則hitTest功能
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if let hitView = super.hitTest(point, with: event) { if hitView is MyCustomCollectionViewCell { print("hitTest - MyCustomCollectionViewCell") return hitView } else { return nil } } else { return nil } }
這是我的自定義TableViewCell XIB的屏幕截圖:
任何幫助表示讚賞。謝謝!
儘量給修復身高到集查看。 – Ujesh
使用集合查看委託方法,而不是輕擊手勢。 – Ujesh
@Ujesh他們有一個固定的高度,但我看不出如何幫助 – mugiwara528