gpt4 book ai didi

ios - collectionView didSelectItemAt indexPath 没有被调用

转载 作者:行者123 更新时间:2023-11-30 11:57:07 25 4
gpt4 key购买 nike

尝试在 Collection View 中选择单元格时,没有任何反应。我设置了委托(delegate),但当用户点击时它不会被调用。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("cell selected")
}

该单元格是包含 CAShapeLayer 和 UILabel 的自定义单元格。我尝试使用 isUserInteractionEnabled 方法但无济于事。

此外,如果我点击得非常快,有时我可以打印“单元格已选择”消息,但这种情况很少。如果您有任何建议,请告诉我!

func drawCircle() {
var circleLayer: CAShapeLayer!

let arcCenter = CGPoint(x: frame.size.width / 2.0, y: (frame.size.height / 2.0) - 15)
let circlePath = UIBezierPath(arcCenter: arcCenter, radius: (frame.size.width - 20) / 2, startAngle: 0.0, endAngle: CGFloat(.pi * 2.0), clockwise: true)

circleLayer = CAShapeLayer()
circleLayer.path = circlePath.cgPath
circleLayer.fillColor = UIColor.clear.cgColor
circleLayer.strokeColor = UIColor(named: "Fourth")?.cgColor
circleLayer.lineWidth = 8.0

circleLayer.strokeEnd = 1.0

// Add the circleLayer to the view's layer's sublayers
layer.addSublayer(circleLayer)
}

最佳答案

通过在我拥有的 UITapGestureRecognizer 上将 cancelsTouchesInView 方法设置为 false 来修复此问题。完整代码如下。

let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.hideKeyboardByTappingOutside))
tap.cancelsTouchesInView = false
self.view.addGestureRecognizer(tap)

关于ios - collectionView didSelectItemAt indexPath 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47687214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com