2012-04-06 20 views
6

キーボードがポップアップすると誰もがUITableViewを移動したいが、キーボードがポップアップしたときに自動アニメーションをカーソルに無効にする方法を探している。私は、キーボードがポップアップし、UITableViewが(それをブロックするのを避けるために)カーソルにスクロールすると、不思議な動き/不安定なスクロール動作を経験しています。iOS:キーボードが表示されたときにUITableViewアニメーションを無効にする

各UITableViewセルにはUITextViewがあります。私はキーボードがポップアップするときに他のアニメーションをコミットしません。

この時点で、アニメーションを完全に無効にして、手動で目的のCGPointにスクロールしたいと思います。

ありがとうございました!

+0

私はセルに3行のテキストフィールドを持っています。テーブルにセルを追加し、キーボードが表示されたときの高さにテーブルを縮小し、テーブルビューを一番下までスクロールさせたいと思っています。私は現在、keyboardWillShowの通知を取得し、テーブルビューの高さを縮小する0.2秒のアニメーションを実行し、完了すると0.05秒遅れてテーブルビューのスクロールを最下部までスクロールさせるという断続的な解決策があります。場合によっては細胞数に応じて機能します。最初のレスポンダがテーブルをスクロールしないようにするだけです。助けて! – cruffenach

+0

この問題を解決する方法はありますか?私はテーブルビューが適切にサイズ変更されるのとまったく同じことを経験していますが、最後にこの奇妙なジャンプを行います。 –

答えて

8

自動スクロールコードはtableViewControllerにあり、自動スクロールを無効にすることはできません。 UITableViewControllerからサブクラス化する代わりに、UIViewControllerからサブクラス化し、その内部でtableViewを使用できます。 UITableViewController自体を使用する場合は、viewWillAppearをオーバーライドし[super viewWillAppear]を呼び出さないでください。

+1

あなたはロックスターです。ありがとう! – Jeremy

+0

この問題を探してこの答えに遭遇する他の人にとっては、これを慎重に行ってください。それは達成可能で簡単な唯一のものかもしれませんが、 'viewWillAppear'のようなビューライフサイクルメソッド内でsuperを呼び出さないことは決して良い考えではありません。 – simonthumper

関連する問題