我試圖製作類似於具有4個textField的鎖定屏幕的登錄屏幕。 我面臨的問題是將焦點從一個文本字段更改爲下一個。製作類似於鎖定屏幕的登錄屏幕
- 當我說
secondTextField.becomeFirstResponder()
的firstTextField的值被複制到secondTextField - 我使用的是十進制墊 - 鍵盤類型
這是我到目前爲止,我做無法找到解決辦法來解決這個問題:
- 使用UITextFieldDelegate
- IBOutlet中取得連接對所有文本字段
firstText.delegate = self secondText.delegate = self thirdText.delegate = self firstText.becomeFirstResponder()
FUNC文本字段(文本框:的UITextField,shouldChangeCharactersInRange範圍:NSRange,replacementString字符串:字符串) - >布爾{ 變種newLength = countElements(的TextField.text)+ countElements(字符串) - 範圍。長度
if newLength == 1 { if textField == firstText{ changeFocus(textField) }else if textField == secondText { changeFocus(textField) }else if textField == thirdText { changeFocus(textField) } } return newLength <= 1
}
FUNC changeFocus(的nextfocus:的UITextField){
if nextFocus == firstText { firstText.resignFirstResponder() secondText.becomeFirstResponder() } else if nextFocus == secondText { secondText.resignFirstResponder() thirdText.becomeFirstResponder() } else if nextFocus == thirdText { thirdText.resignFirstResponder() }
}
我怎樣才能做到這一點正確,任何幫助和建議,請。
使用此https://github.com/kylef/BSKeyboardControls – Kalpesh 2015-04-02 06:30:13
如果我可以在沒有圖書館的情況下做到這一點,那將會很棒。 – 2015-04-02 06:33:16