我有一個非常簡單的表格,當它打開一個單元格時,它將打開一個具有一個UITextfield的新視圖。我只想要的是鍵盤會自動打開,用戶不必觸摸UITextfield。它全部在Interface Builder中完成,所以我不知道我是如何做到這一點的。我想我需要在某個時候設定焦點?如何在UITextField上自動打開鍵盤?
感謝
我有一個非常簡單的表格,當它打開一個單元格時,它將打開一個具有一個UITextfield的新視圖。我只想要的是鍵盤會自動打開,用戶不必觸摸UITextfield。它全部在Interface Builder中完成,所以我不知道我是如何做到這一點的。我想我需要在某個時候設定焦點?如何在UITextField上自動打開鍵盤?
感謝
爲了使鍵盤立即顯示出來,你需要使用下面的行設置文本字段作爲第一個響應者:
[textField becomeFirstResponder];
您可能希望把這個在viewDidAppear:
方法。
夫特3 & 4:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textField.becomeFirstResponder()
}
,避免奇怪的副作用,也呼籲'super.viewDidAppear(動畫)' – Piidro
當然,你是對的! –
我建議-viewDidAppear :,因爲這會產生動畫。在-viewWillAppear中生成動畫可能會導致圖形失真,因爲您還沒有在屏幕上。由於每次出現在屏幕上時幾乎肯定會需要它,因此-viewDidLoad可能是多餘的(每次從磁盤加載視圖時都會發生這種情況,這種情況有點不可預測,因此不適合視覺效果)。 –
非常好的建議。 – jessecurry
您是否需要在執行此操作時導入UITextViewDelegate委託,然後將其連接到IB中的委託? – Supertecnoboff