0

私の単純な iPhone アプリには、テキストを入力するための UITextField と結果のための UITextView があります。数字のみが許可されているため、UITextField は数字パッドを使用します。UITextView は読み取り専用ですが、ユーザーの操作が有効になっています。この理由は、ユーザーが結果を変更せずにコピー アンド ペーストを実行できるようにするためです。テンキーに「実行」ボタンがないことはよく知られています。だから私はそうしresignFirstResponder() in touchesBegan、テキストビューエリアの外に触れている限り機能します。UITextView の内部がタッチされた場合でも、キーボード (テンキー) を閉じるにはどうすればよいですか?

4

1 に答える 1

0

ジェスチャ認識機能を UITextView に追加できます。テストされていないコード:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self.textView addGestureRecognizer:tap];
[tap release]; // not necessary or allowed under ARC

そしてハンドラ:

- (void)handleTap:(UITapGestureRecognizer *)tap
{
    // resign first responder and whatever else you need to do
}

読み取り専用 でのテキスト選択に干渉する場合に備えて、不要な場合はジェスチャ認識機能を無効にする必要がある場合がありますUITextView

于 2013-01-24T16:31:06.310 に答える