我有一个自定义视图,其中包含一个如下所示的集合视图。collectionView didSelectItemAt indexPath未调用swift
func setupCollectionView() {
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: scaled(height: 15), left: scaled(width: 35), bottom: scaled(height: 15), right: scaled(width: 35))
layout.itemSize = CGSize(width: scaled(width: 30), height: scaled(width: 30))
layout.minimumLineSpacing = 15
layout.minimumInteritemSpacing = 30
collectionView = UICollectionView(frame: CGRect.zero, collectionViewLayout: layout)
collectionView.showsVerticalScrollIndicator = false
collectionView.showsHorizontalScrollIndicator = false
collectionView.register(THTexasHoldemEmojiCell.self, forCellWithReuseIdentifier: THTexasHoldemEmojiCell.className)
}
和委托职能
extension THTexasHoldemEmojisView {
func setupDelegates() {
collectionView.dataSource = self
collectionView.delegate = self
}
}
extension THTexasHoldemEmojisView: UICollectionViewDelegate {
func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {
print("did highlight item")
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("did select item")
}
}
奇怪的是didHighlightItem函数可以被调用,但didSelectItem不会。我在这里错过了什么吗?谢谢你的帮助。
我的视图连接是UIViewController(THController)包含UIView(THEmojisView),THEmojisView包含集合视图。 在THController中,我有很多观点和操作,但不包括THEmojisView。 THController的touchesBegan(_ touches:Set,with event:UIEvent?)是否会影响集合视图的委托funcs?
请在下次发布代码而不是截图! – Rikh
您是否设置了数据源和委托? – iDeveloper
'yourCollectionView?.delegate = self'和 'yourCollectionView?.dataSource = self' – iDeveloper