하나의 UIView (파란색)가 있었고 제스처 인식기를 감지하고 싶습니다. 이보기에서 팬 및 탭 제스처를 잡으려고합니다. 사용자가이보기를 탭하면이 터치/탭을 부모보기 (녹색)로 "전달"하고 싶습니다.iOS, Swift 2.3 - UIPanGesture가 활성화되어 있지만 동일한 UIView에서 UITapGesture가 비활성화되었습니다.
내 블루의 UIView :
class SwipeView: UIView, UIGestureRecognizerDelegate {
var tap: UITapGestureRecognizer!
var pan: UIPanGestureRecognizer!
func setup() {
tap = UITapGestureRecognizer(target: self, action: #selector(Swipe.onTap))
tap.delegate = self
tap.enabled = true
self.addGestureRecognizer(tap)
pan = UIPanGestureRecognizer(target: self, action: #selector(Swipe.onPan))
pan.delegate = self
pan.enabled = true
self.addGestureRecognizer(pan)
self.backgroundColor = .blueColor()
}
func onTap() {
}
func onPan() {
}
override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}
}
내가 gestureRecognizerShouldBegin이 = 거짓 녹색 UIView의 모든 이벤트를 잡을 반환 경우에도 마찬가지입니다. 그렇다면 이것을 어떻게 기능적으로 할 수 있습니까? Thx 도움.
참조하십시오 http://stackoverflow.com/questions/15307157/pan-and-tap-gesture-recognizer-for-same-view-which-need -to-fail-for-the-other –
@AbuUlHassan, Thx for link,하지만 주된 문제는 터치/이벤트를 부모보기로 "전달"하는 방법입니다. 파란색보기를 탭하면 녹색으로보기 (파란색보기 아래에있는 버튼)의 이벤트를 수신하고 싶습니다. 파란색으로 위치를 정할 때 버튼이있는 위치에 작업 버튼이 표시됩니다. –
그런 다음 Bringviewtofront 메서드를 사용해야합니다. –