したがって、3つの行(それぞれに画像とさまざまな数のテキストフィールドが含まれる)で構成される、うまく機能するUITableViewがあります。
これで、4行目にUISegmentedControlが追加されました。追加するとすぐに、UITableViewは遅れ/ジャンプ/スキップします。もう一度持っていくと、すべてがスムーズです。
UISegmentedControlを追加しても、スムーズなスクロールを維持するにはどうすればよいですか?
したがって、3つの行(それぞれに画像とさまざまな数のテキストフィールドが含まれる)で構成される、うまく機能するUITableViewがあります。
これで、4行目にUISegmentedControlが追加されました。追加するとすぐに、UITableViewは遅れ/ジャンプ/スキップします。もう一度持っていくと、すべてがスムーズです。
UISegmentedControlを追加しても、スムーズなスクロールを維持するにはどうすればよいですか?
同様の問題がありました。セグメント化されたコントロールが表示されなくなった後、スクロールして戻ると途切れます。問題は初期化である可能性があります。
まず、「dequeueReusableCellWithIdentifier」を正しく使用しているかどうかを確認します(カスタムセルに一意のIDを指定し忘れた可能性がありますか?)
次に、cellForRowAtIndexPathで毎回removeAllSegmentsとinsertSegmentWithTitleを実行しないかどうかを確認します。カスタムセルにintを追加して、それが新しいセルなのか、特定の数のセグメントを持つ再利用されたセルなのかを示します。次に、セルに正確な数のセグメントがある場合は、「dequeueReusableCellWithIdentifier」を実行した後、クリアや追加は必要ありません。
私の場合、最初のチェックを行いましたが、2番目のチェックは行わなかったため、スクロールが遅れました。セグメントのクリアと追加はコストのかかる操作のようです。
お役に立てれば。
私も同様の問題を抱えていました。ビジネスロジックにより、私のアプリは数秒の間隔でセルを更新する必要があります。各セルにはセグメント化されたコントロールがあり、すべてのセグメントを削除して、更新ごとに再度追加していました。しばらくすると、スクロールが非常に遅くなります。更新ごとにこれを行うのではなく、本当に必要な場合にのみセグメントを削除/追加する問題を解決しました。また、「dequeueReusableCellWithIdentifier」を使用しています。現在は正常に動作しています。