想知道當我調用setCancelsTouchesInView時會發生什麼。它不是正式文件中覆蓋http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html調用setCancelsTouchesInView時會發生什麼?
感謝
想知道當我調用setCancelsTouchesInView時會發生什麼。它不是正式文件中覆蓋http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html調用setCancelsTouchesInView時會發生什麼?
感謝
ACB引用了UIGestureRecognizer
的參考文獻。爲了讓多一點具體的,假設你有一個連接泛手勢識別一個視圖,你必須在你的視圖控制器這些方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesBegan");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesMoved");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesEnded");
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesCancelled");
}
- (IBAction)panGestureRecognizerDidUpdate:(UIPanGestureRecognizer *)sender {
NSLog(@"panGesture");
}
,當然還有鍋手勢識別器被配置爲發送panGestureRecognizerDidUpdate:
信息。
現在假設您觸摸視圖,將手指移動到足以識別平移手勢,然後擡起手指。該應用打印什麼?
如果手勢識別具有cancelsTouchesInView
設置爲YES
,應用程序會記錄這些消息:
touchesBegan
touchesMoved
touchesCancelled
panGesture
panGesture
(etc.)
你可能會取消前一個以上的touchesMoved
。
因此,如果您將cancelsTouchesInView
設置爲YES
(默認值),則系統將在從手勢識別器發送第一條消息之前取消該觸摸,並且您不會再爲該觸摸獲取任何與觸摸相關的消息。
如果手勢識別具有cancelsTouchesInView
設置爲NO
,應用程序會記錄這些消息:
touchesBegan
touchesMoved
panGesture
touchesMoved
panGesture
touchesMoved
panGesture
(etc.)
panGesture
touchesEnded
所以,如果你設置cancelsTouchesInView
到NO
,系統會繼續發送的觸摸相關的消息手勢觸摸,與手勢識別器的消息交織。觸摸將正常結束,而不是被取消(除非系統因其他原因取消觸摸,例如在觸摸過程中按下主頁按鈕)。
從蘋果開發者門戶link:
cancelsTouchesInView - 如果一個手勢識別器識別出它的姿態, 它解除綁定的剩餘觸摸從他們的角度看這個手勢(所以 窗口不會傳遞他們)。該窗口取消之前的 傳送的觸摸(touchesCancelled:withEvent :)消息。如果手勢識別器未識別其手勢,則該視圖將在多點觸摸序列中接收到所有觸摸。 。
cancelsTouchesInView:
一個布爾值影響是否觸摸被 遞送到視圖時姿勢被識別。
@屬性(非原子)BOOL cancelsTouchesInView
討論
當此 屬性是YES(缺省)和接收器識別其手勢, 被掛起的該姿勢的觸摸沒有遞送到 視圖,並且先前遞送的觸摸通過 觸摸取消:withEvent:發送到視圖的消息。如果手勢 識別器無法識別其手勢,或者此屬性的值爲NO,則該視圖會接收多點觸摸 序列中的所有觸摸。
什麼是由「那是暫停的手勢的觸摸」? –
謝謝!當您將cancelsTouchesInView設置爲否時,該事件將取消彈出權限? – jebberwocky
我不明白「取消彈出」的意思。 –