3

いくつかのテキスト編集フィールドと、uidatepickerを表示するボタンがあります。uitexteditに移動するとキーボードが表示されますが、ボタンをクリックしてもキーボードはまだここにあります...どうすれば削除できますか?

ありがとう!

4

4 に答える 4

9

を使用する必要があります。resignFirstResponderこの同様の質問を参照してください。

[myTextField resignFirstResponder];
于 2011-01-20T23:13:53.927 に答える
2

-resignFirstResponder現在編集中のテキストフィールドを呼び出します。

于 2011-01-20T23:14:00.737 に答える
0

「ファーストレスポンダ」に直接アクセスできない場合もあるため、別のアプローチを使用する傾向があります。私はキーボード用のユーティリティクラスを持っています。他の機能の中でも、これは次のとおりです。

+ (BOOL)dismiss:(UIView *)view
{
    if (view.isFirstResponder) {
        [view resignFirstResponder];
        return YES;
    }
    for (UIView *subView in view.subviews) {
        if ([Keyboard dismiss:subView]) // It's calling itself, just to be perfectly clear
            return YES;
    }
    return NO;
}

これにより、たとえば次のように簡単に呼び出すことができ[Keyboard dismiss:self.view]ますUIViewController

于 2013-07-11T16:29:54.920 に答える