我有一个UITextfield,我不想再用键盘了。不管我用什么代码,我似乎都不能让键盘消失。
发布于 2011-08-02 09:08:46
[myTextField resignFirstResponder]
Here,“显示和隐藏键盘”部分中的第二段。
发布于 2011-08-03 06:22:25
如果您有多个文本字段,并且不知道哪个是first responder (或者您根本无法从编写此代码的位置访问这些文本字段),则可以在包含这些文本字段的父视图上调用endEditing:
。
在视图控制器的方法中,它看起来像这样:
[self.view endEditing:YES];
该参数强制文本字段重新签署first responder状态。如果您使用委托来执行验证,并且希望在文本字段的内容有效之前停止所有操作,您也可以这样编写代码:
BOOL didEndEditing = [self.view endEditing:NO];
if (didEndEditing) {
// on to the next thing...
} else {
// text field must have said to first responder status: "never wanna give you up, never wanna let you down"
}
与将单个文本字段告知resignFirstResponder
相比,endEditing:
方法要好得多,但是由于某些原因,直到最近我才发现它的存在。
发布于 2015-04-29 03:30:32
我发现了一个endEditing
和resignFirstResponder
失败的案例。在这些情况下,这对我很有效。
ObjC
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
[self setEditing:NO];
斯威夫特
UIApplication.shared.sendAction(#selector(resignFirstResponder), to: nil, from: nil, for: nil)
https://stackoverflow.com/questions/6906246
复制相似问题