我有几个文本输入,每当我触摸背景时我都可以隐藏键盘,但只有当我输入第一个文本框名称textField1时才会隐藏键盘。现在这个代码应该很简单,但我似乎无法得到它,我做错了什么?隐藏键盘ios
-(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
同意@Russ ...视图控制器上的触摸事件是更简单的方法。但是如果它适用于textField1,它仍然很神秘。为什么不是其他人?我的猜测是其他句柄不好(例如'buildLength'未正确初始化)。 – danh