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. 如何在编辑时更改UITextField
- 5. 编程改变的UITextField键盘类型
- 6. UITextField,隐藏键盘,TopBar仍然存在
- 7. Session仍然编辑
- 8. 如何在编辑时更改UITextField中的颜色
- 9. 编辑时返回textfield键盘
- 10. 在返回isEditable为false后双击时,My JTable仍然可编辑?
- 11. 如何禁用UITextField编辑,但仍然接受触摸?
- 12. 在iPad UITextField条目中更改键盘类型?
- 13. 如何在更改视图时使UITextField不可编辑?
- 14. UITextField返回键文本从“完成”更改为“发布”
- 15. 的UITextField更改键盘
- 16. 如何更改键盘的返回类型,iPhone
- 17. 如何更改键盘的返回类型
- 18. 动态更改键盘的返回按钮,但保留类型
- 19. 编辑时更改的UITextField背景入手多个领域
- 20. 如何更改AsynTask的返回类型?
- 21. 更改Asynctask中的返回类型
- 22. Facebook仍然返回时间戳格式
- 23. Onsubmit仍然提交时返回false
- 24. Gridview - 编辑模式 - 当我按下键盘上的返回时,编辑项目索引更改为第一行
- 25. 为什么仍然有错误返回类型需要?
- 26. 当编辑开始时更改UITextField背景
- 27. 的UITextField崩溃的编辑更改文本改变
- 28. 禁用键盘上的UITextField上编辑
- 29. Swift:flatmap仍然返回可选
- 30. window.open()仍然返回null
谢谢,但生病在未来的版本中尝试它我工作,因为我也需要它 – Esko918