切换uitextf时停止键盘关闭
Posted
技术标签:
【中文标题】切换uitextf时停止键盘关闭【英文标题】:stop keyboard dismissing when switching uitextf 【发布时间】:2012-09-10 15:22:37 【问题描述】:我正在使用一个带有一个部分和五个单元格的 uitableview,每个 tableCell 上有两个不同的 uitextfields。
我的问题是:当用户在第一个表格行的第一个文本字段上进行选项卡时,键盘出现,然后用户点击第二个文本字段。键盘DISMISS和SHOW。
那么当用户在文本字段上切换焦点时,我如何保持键盘而不是 DISMISS 和 SHOW?
谢谢。
第一次编辑: 抱歉,对此的回复较晚,此处显示的代码有点复杂。我不会在任何 textField 委托方法中放弃FirstResponder/becomeFirstResponder。您能否提出任何想法。感谢你的帮助。
第二次修改: 对不起我的错误,我完全误解了我的问题。我会在一分钟内重新链接这里的新帖子。
第三次修改: this is my new question
【问题讨论】:
显示一些代码可能是什么? (您在不同领域之间切换焦点) 【参考方案1】:这应该对你有用...只是我的猜测,因为你没有发布任何代码:
-(BOOL)textFieldShouldReturn:(UITextField *)textField
if(textField == firstTextfield)
if([[firstTextfield stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0)
return NO;
[firstTextfield resignFirstResponder];
[secondTextField becomeFirstResponder];
return YES;
else if(textField == secondTextField)
//Anything u want here
return YES;
return NO;
【讨论】:
【参考方案2】:通常,当您切换字段时,键盘不会自行关闭。 如果您正在使用文本字段委托并通过 resigningFirstResponder 响应“editingDidEnd”,那么您将看到该行为。
如果是这样的话,在你离开这个字段之后,它正在调用其中一个方法并退出键盘,然后当你触摸另一个字段时,它正在调用 firstResponder。
因此,请查找一些代码,在其中设置文本字段委托以调用文本字段选择器方法之一。找到正在调用的方法,看看它是否是 resigingFirstResponder。
如果是,那么您可能需要删除它或将其包装在一些适当的逻辑中。
【讨论】:
以上是关于切换uitextf时停止键盘关闭的主要内容,如果未能解决你的问题,请参考以下文章
停止 UISearchDisplayController 以关闭搜索栏键盘
收音机开始。但它并没有停止。当我在项目中切换页面时它不会停止