resignFirstResponder没有隐藏iPad中的UIkeyboard

vik*_*kas 0 cocoa-touch objective-c uikeyboard ipad resignfirstresponder

我有一个iPad应用程序,其中resignFirstResponder似乎没有工作.我尝试了很多解决方案.我只是从firstResponder对象的实例调用resign第一响应者,但键盘仍保留在屏幕上.我尝试通过迭代所有窗口来获取第一个响应者的实例,然后我从该实例调用resignFirstResponder.

我还尝试UIViewController为以下方法创建类别.

  - (BOOL)disablesAutomaticKeyboardDismissal
    {
         return NO;
    }
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案对我来说也不起作用.并且这个键盘问题存在于所有应用的文本领域中,不仅适用于某些特定的文本字段.

更新:在应用程序的不同部分,我使用不同的代码来实现此目的.这是代码

- (void)textFieldDidEndEditing:(UITextField *)mtextField
 {
 [mtextField resignFirstResponder]; this one is not required but I have just write   it here.
 }

- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string hasSuffix:@"\n"])
{
    [theTextField resignFirstResponder];
    return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)

更新:当我尝试在模拟器中运行应用程序时,有时它resignFirstResponder正在运行,但即使在模拟器中也不会在每次启动时运行.

tGi*_*ani 5

隐藏键盘的最简单和最好的方法是使用

[self.view endEditing:YES];
Run Code Online (Sandbox Code Playgroud)

并确保您正在设置文本字段的适当委托

  • 它尝试了这种方式,但它不起作用,键盘仍然在屏幕上. (3认同)