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。 –