【发布时间】:2012-05-10 11:52:15
【问题描述】:
我有一些文本输入,只要我触摸背景,我就可以隐藏键盘,但只有当我输入第一个文本框名称 textField1 时。现在这段代码应该很简单,但我似乎无法理解。
-(IBAction)backgroundTouched:(id)sender {
[textField1 resignFirstResponder];
[buildLength resignFirstResponder];
[buildWidth resignFirstResponder];
[ridgeWidth resignFirstResponder];
[rafterWidth resignFirstResponder];
[hipWidth resignFirstResponder];
[eaveOverhang resignFirstResponder];
[spacing resignFirstResponder];
}
【问题讨论】:
-
什么对象正在接收
backgroundTouched:操作?是景色吗?你把什么东西放在一切后面?我在 iOS 上隐藏键盘的方法是覆盖 ViewController 的touchesEnded:withEvent:。当没有其他对象能够处理触摸事件时,它会被调用。在那里我辞去了第一响应者的职务,尽管您需要检查isFirstResponder,因为如果您不使用触摸,则应该调用super。 -
同意@Russ...视图控制器上的触摸事件是更简单的方法。但它是否适用于 textField1 仍然很神秘。为什么不是其他人?我的猜测是其他句柄不好(例如,'buildLength' 没有正确初始化)。
标签: ios objective-c keyboard iphone-softkeyboard