iPhone - UITextView通報
-
23-08-2019 - |
質問
これはおそらく非常に簡単ですが、私はそれを把握することはできません - どのように私はatheのTextViewを編集終了していますか?どのように私は、キーボードが消えて入手できますか?または私はそれが離れて行く作ってそれの外側をクリックしなければならないのですか?
解決
まず、このような(正直に言うと)かなり単純な質問は、あなたがドキュメントを読んでみました、あるいはインターネット上で検索した場合、私は思ってしまいます。
の検索 "をアップルのドキュメントUITextView" あなたはいますこのリンクは、クラスのドキュメントをを。同様に、こちらのドキュメントをしていますUITextViewDelegateます。
"UITextView簡単な例" を検索すると、あなたにこの有用な例を与えます。
「UITextViewがキーボードを閉じる」を検索、最初のヒットは<のhref = "http://iphonedevelopertips.com/cocoa/how-to-dismiss-the-keyboard-when-using-a-uitextview.htmlに思えます"REL =" nofollowをnoreferrer ">正確のあなたの質問に答えます。 (彼はあなたが望むものではないかもしれない、リターンキー、上のキーボードを閉じるものの。)(編集 - 。それは、それは正確に何をしたいのです2番目のコメントかららしい)
P.S。少し簡潔な(当然)場合は、上記の人々は、正しいです。あなたはUITextViewDelegateを実装する必要があります。そのデリゲートでは、あなたはリターンキーのキーボードを非表示にする場合、「N \」@を探し、shouldChangeTextInRangeを実装し、あなたがそれを得る場合は、最初の応答者を辞任。また、あなたのUIに「完了編集」ボタンを追加し、ユーザーがそれを押した場合は、最初の応答者を辞任ます。
他のヒント
非常に簡単ます:
[myTextField resignFirstResponder];
トリックを行います。
TextViewの外に叩き、編集を終了する一つの方法は、全く簡単ではありません。他のテキストビューまたはテキストフィールドを選択するか、ナビゲーションコントロールをアクティブにトリガされます...
- (void)textViewDidEndEditing:(UITextView *)textView
...あなたはTextViewの者の代理人として指定してきたどんなオブジェクトに。あなたが呼び出すことで、この自分自身をトリガすることができます...
- (BOOL)endEditing:(BOOL)force
...あなたのテキストフィールドを含むビューでます。
私は(uitableの内側)のUITableViewCell内部UITextViewがあるとします。私は、テーブルをタップして終了するには編集を有効にしたいです。私はこれを行うことができます:
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapTable)];
[[self tableView] addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
}
- (void)didTapTable
{
[[self tableView] endEditing:YES];
}
私は私のテーブルをタップするたびに今、私が編集を終了します。他の人がtextViewDidEndEditing
で、述べたように、私は
[textView resignFirstResponder];
を呼び出してくださいする必要があります [yourTextField resignFirstResponder];
キーボードが消え、編集終了になります。