IM在更改返回鍵類型時遇到問題,同時仍在編輯我的視圖的文本字段。所以當用戶點擊文本框時,我有一些檢查改變鍵盤的返回類型,這些檢查被放置在- (void)textFieldDidBeginEditing:(UITextField *)textField
,當我在這裏更改鍵盤返回鍵代碼工作正常。我只是改變鍵盤重新調整鍵像這樣[textField setReturnKeyType:UIReturnKeyDone];
。所以有2個文本框的用戶名和密碼。如果在這兩個文本字段中的文本我想要將返回鍵更改爲完成如果僅在其中一個文本字段中的文本我想將其更改爲NEXT因此我可以在文本字段之間來回跳轉。我在- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
中進行了一些制衡。然而,相同的代碼im放在textFieldDidBeginEditing
不在這個功能。我讀了一堆帖子,他們都說,作爲第一響應者刪除文本字段,然後設置返回鍵,並再次成爲響應者,但這會擾亂我的當前流程在各自的方法。我也讀過,我必須在設置返回鍵後撥打[textfield reloadInputFields]
,但這又不起作用。你會認爲蘋果現在已經修復了這樣的錯誤。無論如何,有人在這裏有一些輸入嗎?在仍然編輯UITextField的同時更改返回鍵類型?
2
A
回答
1
試試吧,讓我知道
我已經演示了你的問題,它運行完美,按您的需要或您可以修改它按照
//這是編輯而改變這兩個文本框創建從故事板中的操作事件
- (IBAction)txtEditingChanged:(UITextField *)sender
{
[sender resignFirstResponder];
[sender becomeFirstResponder];
}
//這是編輯難道Ë第二這兩個文本框創建從故事板中的操作事件
- (IBAction)txtEditingEnd:(UITextField *)sender
{
if (txtUserName.text.length == 0 || txtPassword.text.length == 0)
{
[txtUserName setReturnKeyType:UIReturnKeyNext];
[txtPassword setReturnKeyType:UIReturnKeyNext];
}
else
{
[txtUserName setReturnKeyType:UIReturnKeyDone];
[txtPassword setReturnKeyType:UIReturnKeyDone];
}
}
//這是下一個和完成按鈕活動,即委託的UITextField
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
if (textField == txtUserName && textField.returnKeyType == UIReturnKeyNext && textField.text.length != 0)
{
[txtPassword becomeFirstResponder];
}
else if (textField == txtPassword && textField.returnKeyType == UIReturnKeyNext && textField.text.length != 0)
{
[txtUserName becomeFirstResponder];
}
else
{
// This is your Done Button Event You Can Procced Here
}
return YES;
}
0
我不得不實施,需要一個附加標籤邏輯根據輸入到UITextField中的文本更改鍵盤返回鍵。找到如何更改返回鍵很容易,但是當我開始測試時,我注意到這個解決方案只適用於iOS10,但不適用於iOS9。花了一些時間並做了一些研究之後,我想出了這個解決方法,它不是最好的,但至少可以工作。
if #available(iOS 10.0, *) {
textField.reloadInputViews()
} else {
textField.keyboardType = .numberPad
textField.reloadInputViews()
textField.keyboardType = .default
textField.reloadInputViews()
}
相關問題
- 1. UITextField在編輯時更改字體
- 2. 如何在編輯時更改UITextField
- 3. 編程改變的UITextField鍵盤類型
- 4. Session仍然編輯
- 5. 編輯時返回textfield鍵盤
- 6. 如何禁用UITextField編輯,但仍然接受觸摸?
- 7. 如何在更改視圖時使UITextField不可編輯?
- 8. 的UITextField更改鍵盤
- 9. 如何更改鍵盤的返回類型
- 10. 如何更改AsynTask的返回類型?
- 11. 編輯時更改的UITextField背景入手多個領域
- 12. Gridview - 編輯模式 - 當我按下鍵盤上的返回時,編輯項目索引更改爲第一行
- 13. 爲什麼仍然有錯誤返回類型需要?
- 14. Swift:flatmap仍然返回可選
- 15. 當編輯開始時更改UITextField背景
- 16. 的UITextField崩潰的編輯更改文本改變
- 17. 更改返回結果的函數的返回類型
- 18. Gridview在瀏覽時仍然顯示,然後返回
- 19. scala避免返回,同時仍然短迭代
- 20. UITextField在編輯模式下的自定義字體更改
- 21. 編輯UITextField時顯示UIPickerView
- 22. - [UITextField isFirstResponder]即使字段正在編輯也會返回false
- 23. 使用基類IEqualityComparer執行Distinct(),並仍然返回子類類型?
- 24. 爲什麼在編輯UITextField時鍵盤不顯示?
- 25. UITextField文本更改回調
- 26. 在PHP中創建子類中的函數時更改返回類型?
- 27. 正在編輯UITextField時切換UITextAutoCorrectionType
- 28. 不同的返回類型在Python
- 29. UITableViewCellSelectionStyleNone同時仍然在編輯模式下顯示覆選標記
- 30. 返回不同類型
謝謝,但生病在未來的版本中嘗試它我工作,因爲我也需要它 – Esko918