iPhoneアプリで作業していて、iPhoneアプリでユーザーがUITextViewを入力しています。 通常のリターンキーを使用する代わりに、キーボードにdoneキーを追加する方法と、そのキーをクリックしてキーボードを閉じる方法が不思議でした。iPhoneアプリケーションでキーボードを閉じるキーを閉じる(UITextViewで)
ありがとうございます!
iPhoneアプリで作業していて、iPhoneアプリでユーザーがUITextViewを入力しています。 通常のリターンキーを使用する代わりに、キーボードにdoneキーを追加する方法と、そのキーをクリックしてキーボードを閉じる方法が不思議でした。iPhoneアプリケーションでキーボードを閉じるキーを閉じる(UITextViewで)
ありがとうございます!
UITextViewDelegate
プロトコルには-textViewShouldReturn:
メソッドがありません。キーボードを閉じるためにreturn(done)キーを使いたい場合は、代わりにUITextFieldを使用することをお勧めします。UITextView
は複数行のテキストを編集するためのものです(改行を入力する必要があります)。
あなたが本当にUITextView
でリターンキーを押すとき、キーボードを閉じたい場合は、おそらくこのような何か行うことができます:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ([text isEqual:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
それは同じくらい簡単です:それは押されていますとき、キーボードを削除するには、あなたのテキストフィールドのデリゲートにこれを追加
textField.returnKeyType=UIReturnKeyDone;
:
設定に加えて- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield {
[aTextfield resignFirstResponder];
return YES;
}
うんのが、それはキーボードを閉じません。 – Tapy
申し訳ありません。私の答えにそれを加えました。 – grahamparks
私はUITextFieldではなくUITextFieldを参照していたと思います。 –
:
textField.returnKeyType = UIReturnKeyDone;
あなたのクラスにテキストフィールドのデリゲートを設定し、次のような何かをする必要があります:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
XIBでUIを定義している場合、returnKeyTypeをInterface Builderから設定することもできます。一方、-resignFirstResponderは、キーボードが消えることを確認します。これは、ユーザーが完了ボタンをタップしたときに呼び出されるため、-textFieldShouldReturn:delegateメソッドで行う必要があります。
これが役に立ちます。
彼はUITextFieldではなくUITextViewを要求します。 – Domness
また、質問に答えることはできません..質問はUITextViewについてです。 –
ありがとう!私がTextViewを使用する必要があったのは、私が取り組んでいるアプリがTwitter APIだからです。そして、ユーザーが投稿する前にツイートを読んでみたいのであれば、それはユーザーのためにちょっと混乱します。 – Tapy