我很难过,我希望有人能提供帮助。
在 segue 之前,我正在为我的所有五个文本字段调用 resign 第一响应者方法。发生转场,如果键盘在转场之前可见,则无论我做什么,键盘都会保留。这在 IOS6 中没有发生。它只发生在 IOS7 中。
非常感谢您的帮助。
这是场景:
用户一次触摸一个文本字段来输入数据。键盘从第一响应者从一个字段更改为下一个字段没有问题,并且可以从 DONE 按钮退出而不会出现问题。当用户触摸将从选取器视图中填充的字段时,就会出现问题。如果从先前的文本字段之一中可以看到键盘,它就不会消失。
我有这段代码试图对resignFirstResponder
两个editingDidBegin
字段的操作。我正在使用这两个字段来保存数字,但我在下一个视图中从选择器中填充它们。
- (IBAction)txtRatioOrHullTypeTouched:(id)sender
{
// Hide the keyboard before the segue to the picker occurs.
[self.txtPitch resignFirstResponder];
[self.txtRPM resignFirstResponder];
[self.txtSlipOrSpeed resignFirstResponder];
[self.txtRatio resignFirstResponder];
[self.txtHullType resignFirstResponder];
segueToPicker = YES; // Raise flag indicating that this segue is to the picker.
[self performSegueWithIdentifier:@"toPicker" sender:sender];
}
我还将相同的代码放入viewWillDisappear
如下所示:
- (void)viewWillDisappear:(BOOL)animated // Unchanged
{
// Hide the keyboard before the segue to the picker occurs.
[self.txtPitch resignFirstResponder];
[self.txtRPM resignFirstResponder];
[self.txtSlipOrSpeed resignFirstResponder];
[self.txtRatio resignFirstResponder];
[self.txtHullType resignFirstResponder];
[super viewWillDisappear:animated];
}
这两种方法都在初始视图 ViewController.m 文件中。