8

まず第一に、答えがすでにそこにあるなら私を許してください(私は正直に約2週間働いて探しています)。

そして今、状況:

私はUITextViewのサブビューとしてを持ってUITableViewCellUITableViewます。これUITextViewが最初の応答者です(ユーザーが入力している間)。

入力された各文字の後にセルrowHeightが再計算されるように(デリゲートプロトコルメソッドを介して)設定しました(正しく、rowHeightのtableViewsデリゲートプロトコルで)。これまでのところ、すべてが順調です。

次に、ファーストレスポンダーとしてのサブビューを辞任せずに、そのセルをリロード(または用語が何であれ更新)する必要があります。UITextView

問題の周りの不十分な解決策:

私はこれを使用[tableView reloadData][textView becomeFirstResponder]シミュレートすることができ(ユーザーがtextViewがリロードされたことに気付かないように)、rowHeightは完璧ですが、これは私に多くの問題を引き起こしています(特にカーソルがユーザーが文字入力するたびに最後にジャンプせず、オートコレクトを使用して、textViewの辞任によりその提案を強制的に適用します)。

サブビューをファーストレスポンダーとして辞任させずに、を再描画またはサイズ変更するUITableViewCell(動的に変更する)方法はありますか?rowHeight

4

1 に答える 1

21

tableViewを使用[tableView beginUpdates]する[tableView endUpdates]と、この問題が解決します。詳細については、この回答を参照してください。

于 2012-09-06T19:24:32.237 に答える