我有一個UITextField,但我想控制它何時被聚焦以及何時不聚焦。禁用觸摸但不是所有用戶在UITextField上的交互
爲了實現這一點,我需要能夠在該文本字段上阻止觸摸事件。我知道我可以在它前面放一個按鈕並手動進行,但我想知道是否有任何方法可以禁用元素上的觸摸。
非常感謝。
我有一個UITextField,但我想控制它何時被聚焦以及何時不聚焦。禁用觸摸但不是所有用戶在UITextField上的交互
爲了實現這一點,我需要能夠在該文本字段上阻止觸摸事件。我知道我可以在它前面放一個按鈕並手動進行,但我想知道是否有任何方法可以禁用元素上的觸摸。
非常感謝。
似乎沒有辦法用UITextField屬性來阻止觸摸。我通過在文本字段上放置UIView來阻止觸摸,從而解決了這個問題。我使用屬性檢查器將UIView設置爲「清除顏色」。非常適合我的應用程序。
userInteractionEnabled
屬性怎麼樣?
我不得不在編輯,所以becomeFirstResponder之前(光標互動)我設置isUserInteractionEnabled = TRUE並在最終編輯設置虛假
@IBAction func editTapped(_ sender: UIButton) {
textField.isUserInteractionEnabled = true
textField.becomeFirstResponder()
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
print(textField.textValue)
textField.isUserInteractionEnabled = false
return true
}
這也可以通過鍵盤,阻止你輸入的文字,我需要。我只想停止觸摸。不是**全部**互動。 :) –
我不明白...如果你禁用觸摸,那麼用戶將無法觸摸它,無論如何帶出鍵盤,所以有什麼區別? – borrrden
但我可以手動調用'becomeFirstResponder'來展示鍵盤。 :) –