2012-01-21 10 views
0

この質問は以前に尋ねられましたが、私の問題に適用された回答が見つかりませんでした。 私はUITextViewでいっぱいの3番目の行を持つUITableViewControllerを持っています。iPhoneアプリケーション:UITextViewを使用しているセルでUITextViewを使用している場合、キーボードを取り除くことができません

私はそれが見た目とテキストがそれに入力される方法に非常に満足しています。 しかし、ユーザーがテキストの入力を終えたら、キーボードを取り除く方法を見つけることができません。私はテキストの実際の\ nのために戻るボタンを使用できるようにしたいと思います。

これまでのところ、上の2行を押すとtextView te resignFirstTransponderが作成されますが、グレイッシュな背景のタップをキャッチする方法はありますか?

これはすべてnibファイルからロードされたUITableViewControllerにあります。 Btw、私はiOSプログラミングにはかなり新しいので、あなたの答えはより精巧になります:)

ありがとう!

+0

resignFirstResponderを使用してみましたか? – rishi

答えて

1

パターンの多くは、キーボードのすぐ上にボタンが付いた水平のバーを表示することです。 doneボタンをクリックすると、キーボードを隠すことができます。もちろん、あなたは自分で水平ビューを作成する必要があります。

もう一つの方法は、他の場所でタッチ認識を可能にすること、そしてタップに外

0

1つの選択肢はそれを却下します「完了」ボタンのようなもので、キーボードにツールバーを追加することですキーボードを非表示にします。そのコードについては、hereをご覧ください。もう1つの方法は、ユーザーが別のセルを選択したとき、またはtableViewがスクロールしてもキーボードを閉じることです。これを行うには、それぞれ-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPathまたは-(void)scrollViewDidScroll:(UIScrollView *)scrollViewに関連するコードを追加できます。

0

これは、iOSで新しくなった場合、少し難しいことがあります。 UITextViewをUITableViewCellで処理する方法は、UITextViewのコンセントを使用してカスタムUITableViewCellサブクラスを作成することです。 次に、インターフェイスビルダーのセルをそのサブクラスに設定します。 CellForRowAtIndexPath: デリゲートをselfに設定します。次に、DidSelectRowAtIndexPathでは、indexPathに基づいてTextViewのデリゲートを呼び出します。これにより、背景に触れるとkeyBoardが正しい行を閉じるようになります。ユーザーが任意のセルに触れるときにそれを却下したい場合は、indexPathを指定せずにデリゲートを呼び出すだけです。デリゲートはTextViewShouldEndEditingです:あなたが望むなら、いくつかのコードを投稿してください。

関連する問題