我想向UITextView
添加一個輕擊手勢,以便在打開保存對話框時,可以通過點擊UITextView
來取消它。但是,當我這樣做時,它取消了textview的正常單擊行爲。現在當我點擊沒有保存抽屜的文本時,它什麼都不做。輕拍確實使用回調方法正確觸發,但取消了UITextView的默認動作(將光標放在任何你點擊的位置)。向UITextView添加手勢會取消默認行爲
// Add gesture to cancel saving
let singleCodeTextViewTap = UITapGestureRecognizer(target: self, action: Selector("codeTextViewTapped"))
singleCodeTextViewTap.numberOfTapsRequired = 1;
codeTextView.addGestureRecognizer(singleCodeTextViewTap)
func codeTextViewTapped() {
if saveDrawerOut {
moveFilenameBannerOffScreen()
saveAsTextField.text = ""
}
}
如何在單擊手勢時啓用UITextView的默認行爲?
編輯
我嘗試添加cancelsTouchesInView = false
和似乎沒有工作,雖然它似乎像正確的答案。所以,現在我的代碼看起來是這樣的:
singleCodeTextViewTap = UITapGestureRecognizer(target: self, action: Selector("codeTextViewTapped"))
singleCodeTextViewTap.numberOfTapsRequired = 1
singleCodeTextViewTap.cancelsTouchesInView = false
codeTextView.addGestureRecognizer(singleCodeTextViewTap)
太棒了,我假設我需要爲此採用某種協議?那是什麼協議? – Johnston 2015-04-01 14:40:24
你想'UIGestureRecognizerDelegate'。 – damian 2015-04-01 14:40:52
謝謝。我覺得是這樣,但我想仔細檢查。 – Johnston 2015-04-01 14:41:38