0

したがって、3つの行(それぞれに画像とさまざまな数のテキストフィールドが含まれる)で構成される、うまく機能するUITableViewがあります。

これで、4行目にUISegmentedControlが追加されました。追加するとすぐに、UITableViewは遅れ/ジャンプ/スキップします。もう一度持っていくと、すべてがスムーズです。

UISegmentedControlを追加しても、スムーズなスクロールを維持するにはどうすればよいですか?

4

2 に答える 2

1

同様の問題がありました。セグメント化されたコントロールが表示されなくなった後、スクロールして戻ると途切れます。問題は初期化である可能性があります。

まず、「dequeueReusableCellWithIdentifier」を正しく使用しているかどうかを確認します(カスタムセルに一意のIDを指定し忘れた可能性がありますか?)

次に、cellForRowAtIndexPathで毎回removeAllSegmentsとinsertSegmentWithTitleを実行しないかどうかを確認します。カスタムセルにintを追加して、それが新しいセルなのか、特定の数のセグメントを持つ再利用されたセルなのかを示します。次に、セルに正確な数のセグメントがある場合は、「dequeueReusableCellWithIdentifier」を実行した後、クリアや追加は必要ありません。

私の場合、最初のチェックを行いましたが、2番目のチェックは行わなかったため、スクロールが遅れました。セグメントのクリアと追加はコストのかかる操作のようです。

お役に立てれば。

于 2010-03-27T09:23:50.870 に答える
1

私も同様の問題を抱えていました。ビジネスロジックにより、私のアプリは数秒の間隔でセルを更新する必要があります。各セルにはセグメント化されたコントロールがあり、すべてのセグメントを削除して、更新ごとに再度追加していました。しばらくすると、スクロールが非常に遅くなります。更新ごとにこれを行うのではなく、本当に必要な場合にのみセグメントを削除/追加する問題を解決しました。また、「dequeueReusableCellWithIdentifier」を使用しています。現在は正常に動作しています。

于 2013-04-22T15:57:39.590 に答える