我正在爲我的應用程序登錄屏幕,我想返回按鈕說「下一步」,當有一個字段,還沒有填寫,它應該說「去「當所有的字段被填充(我在談論UITextFields)。修改returnButton,同時編輯凍結鍵盤1輕拍
下面的代碼正常工作,它顯示了正確的時刻Next和Go。但是,無論何時從「下一步」更改爲「開始」,鍵盤上的下一次敲擊都將被忽略。當它顯示「Go」並且我通過退格清空文本字段時,沒有這樣的問題,並且它應該顯示Next。這幾乎就像舊鍵盤仍然存在,並在竊聽後消失。
我的問題是:這個問題的根源是什麼,更重要的是我該如何擺脫這種鍵盤凍結?
UITextField *theSender = (UITextField *)sender;
if (allTextFieldsAreFilled) {
if (theSender.returnKeyType!=UIReturnKeyGo) {
theSender.returnKeyType = UIReturnKeyGo;
[theSender resignFirstResponder];
[theSender becomeFirstResponder];
}
} else {
if (theSender.returnKeyType!=UIReturnKeyNext) {
theSender.returnKeyType = UIReturnKeyNext;
[theSender resignFirstResponder];
[theSender becomeFirstResponder];
}
}
此代碼被調用每三個UITextFields之一的值發生改變時,所以它是連接到編輯Changed事件的IBAction爲。
在此先感謝您的幫助!
編輯
我發現,如果文本字段設置爲安全(密碼),這隻會發生。當它沒有設置爲安全時,它不會凍結,我的代碼完美無缺!問題在於,當「安全」文本字段是第一響應者時,通常會發生對「Go」按鈕的更改。所以這不會改變任何問題。
很奇怪,我會檢查你的代碼。 – Manuel
我複製了你的代碼,但它不會停止凍結。 – Manuel
嗯;必須有別的東西。你使用的是什麼SDK,iOS和設備?你有沒有嘗試製作一個新項目來測試它?或者只是使用你當前的? – Wex