2010-12-17 7 views
1

私はテーブルにカスタムの数字を使って数字を入力できるカスタムフィールドを持つセルを持っています。それにはタブが含まれています。テーブルの一番下から上にタブで移動するときは、(i)テーブルを一番上にスクロールし、(ii)そのテーブルのカスタムフィールドを選択する必要があります。セルにスクロールしてサブビューを取得

scrollToRowAtIndexPathを呼び出した直後にcellForRowAtIndexPathを呼び出すと、前者はnullセルを返します。スクロールが完了した後、再度呼び出されると、セルは期待通りに返されます。タグ値でカスタムビューを取得して選択できるように、セル自体が必要です。

私は解決策を見つけようとしています。 1つはスクロール後に遅延を挿入して完了させることです。しかし、私はperformSlector:withObject:afterDelayを成功させずに使ってみました。

これは、タブを押したときに呼び出されるコードです。

答えて

1

UITableViewのセルは、必要に応じてロードされます。その結果、スクロールしているセルが現在オフスクリーンのインデックスに存在する場合は、cellForRowAtIndexPathから無応答が返されます。

UITableviewはUIScrollViewDelegateプロトコルに準拠しているため、UITableViewDelegateメソッドに加えて、これらのデリゲートメソッドを実装できます。 scrollViewDidEndDecelerating:のようにセルが表示されているときに呼び出され、cellForRowAtIndexPathに電話すると、このトリックを行う可能性があります。

+0

ありがとうございました。私はscrollViewDidEndScrollingAnimationを使用して終了しました。それは治療を働いた。 – fezfox

+0

それを聞いてうれしい! –

関連する問題