簡體   English   中英

切換keyboardType清除TextField文本

[英]Switching keyboardType clears TextField text

我剛剛在我正在開發的應用程序中發現了一個錯誤,該錯誤似乎特定於iOS 8,但是我無法找出原因或解決方案,因此任何建議都將不勝感激。

問題是我有一個視圖,用戶可以在其中輸入密碼。 當文本字段處於活動狀態時,最初我們將顯示一個數字鍵盤,並在鍵盤上方顯示一個按鈕以切換到字母鍵盤。 這是該按鈕的按鈕點擊代碼,用於在qwerty鍵盤和數字鍵盤之間切換。

UIButton * toggleButton =發送者;

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0f)
{
    [self.passcodeField resignFirstResponder];
}

if (self.passcodeField.keyboardType == UIKeyboardTypeNumberPad) {
    self.passcodeField.keyboardType = UIKeyboardTypeNamePhonePad;
    [toggleButton setTitle: @"123" forState:UIControlStateNormal];
}
else {
    self.passcodeField.keyboardType = UIKeyboardTypeNumberPad;
    [toggleButton setTitle: @"ABC" forState:UIControlStateNormal];
}

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0f)
{
    [self.passcodeField becomeFirstResponder];
}

[self.passcodeField reloadInputViews];`

問題是,如果我在數字鍵盤上輸入“ 123”,然后切換到qwerty鍵盤,則當我鍵入單個字符時,它將清除原始輸入並將其替換為新字符,而不是附加新字符。 我不確定為什么,因為我的視圖控制器中沒有代碼可以清除passcodeField中的文本。 有誰知道這可能是什么原因?

提前致謝...

您的文本字段安全嗎? 如果是這樣,我認為您的問題在於調用resignFirstResponderbecomeFirstResponder 這是安全文本字段的自然行為,當它激活時,它將擦除先前輸入的所有文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM