私は、resignFirstResponder が機能していないように見える iPad アプリケーションを持っています。私は多くの解決策を試しました。firstResponder オブジェクトのインスタンスからファーストレスポンダーの辞任を呼び出しているだけですが、キーボードは画面上に残っています。次に、すべてのウィンドウを反復して最初のレスポンダーのインスタンスを取得しようとしましたが、そのインスタンスから rejectFirstResponder を呼び出しています。
UIViewController
また、次のメソッドのカテゴリを作成してみます。
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
しかし、この解決策も私にとってはうまくいきません。そして、このキーボードの問題は、特定のテキストフィールドだけでなく、アプリケーションのすべてのテキストフィールドにあります。
更新: アプリの別の部分で、この目的のために別のコードを使用しています。ここにコードがあります
- (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;
}
更新: シミュレーターでアプリケーションを実行しようとすると、動作することがありますが、シミュレーターでもresignFirstResponder
起動するたびに動作するわけではありません。