我将集合视图放入表格视图单元格,我使它可以显示在单元格上,但是当我想选择集合单元格(更改颜色或打印单元格编号)时,选择功能不起作用,我需要多次点击该单元格以使其被选中.为什
这是选择集合单元格的代码
override func awakeFromNib() { super.awakeFromNib() let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() let width = UIScreen.main.bounds.width layout.scrollDirection = .vertical layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) layout.itemSize = CGSize(width: width/5, height: width/4) layout.minimumInteritemSpacing = 0 layout.minimumLineSpacing = 0 collectionView?.collectionViewLayout = layout collectionView?.delaysContentTouches = false } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath) as! CategoryCollectionViewCell cell.cateImg.image = imageName[indexPath.row] cell.cateLabel.text! = nameArray[indexPath.row] return cell } func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if let cell = collectionView.cellForItem(at: indexPath) as? CategoryCollectionViewCell { cell.cateImg.image = imageName2[indexPath.row] print("collectionViewCell selected \(indexPath)") } } func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) { if let cell = collectionView.cellForItem(at: indexPath) as? CategoryCollectionViewCell { cell.cateImg.image = imageName[indexPath.row] } }
项目拉链:
https://www.dropbox.com/s/y10dgp3q61pi5n1/Finnciti.zip?dl=0
AddViewCell.swift上的问题
我在AddViewController上删除此代码后修复了问题.let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(AddExpenseVC.dismissKeyboard)) view.addGestureRecognizer(tap) @objc func dismissKeyboard() { view.endEditing(true) }