0
我试图检测作为UIScrollView的子层的CALayers上的轻击手势事件。下面是我有识别器设置:UITapGestureRecognizer未检测到UIScrollView中的CALayer
在viewDidLoad中:
self.tapRecognizer = UITapGestureRecognizer(target: self, action: "tapHandler:")
self.tabScroller.addGestureRecognizer(tapRecognizer)
自来水处理方法:
func tapHandler(recognizer: UITapGestureRecognizer) {
var touchLocation = recognizer.locationInView(recognizer.view)
if recognizer.state == UIGestureRecognizerState.Ended {
if let touchedLayer: CALayer = self.tabScroller.layer.hitTest(touchLocation) {
println("\(touchedLayer.name)")
}
}
}
我知道tapHandler的工作,因为它会执行一个基本的println (“”)将字符串放置在其中的任何位置。但是println(“(touchedLayer.name)”)连续打印零,我不知道为什么它不能识别CALayer上方的水龙头。
的CALayers使用
tabScroller.layer.addSublayer(brushB)
我在做什么错误添加到tabScroller?
为什么hitTest需要针对图层?再次测试tabScroller不起作用? –
我不知道该怎么做,因为我不知道要为hitTest的withEvent部分放置什么。 – jwade502
通过nil for withEvent。 –