2009-08-27 30 views
2

iPhone開発には初めてです。私は複雑なカスタムセル、複数のサブビューとコントロールを含むテーブルビュー(既定のUITableViewサブクラス)に取り組んでいます。スクロールはあまりスムーズではありませんが、今はそのままにしておきます。不思議なUITableViewの問題が解決しました

質問:すばやくスワイプでテーブルビューをスクロールすると、テーブルが突然スクロールしなくなり、スクロールインジケータが消えず、再びスクロールしてスクロールする必要があります。

テーブルに行が非常に少ない、たとえば5または6の場合、決してスタックされません。私が使用したカスタムセルクラスは、ここに提供されている例のものです。http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/

誰でもこの問題のヒントや解決策を教えてください。前もって感謝します。必要なときに

+1

これはシミュレータまたはデバイスで発生していますか?シミュレータはテーブルビューで非常に頻繁に停止します。それがデバイスの場合、このコメントは無視してください;) – Jab

+0

これはシミュレータとデバイスで発生しています。シミュレータでは、テーブルはスクロールを停止し、スクロールバーは消えてしまいます。デバイス上でスクロールバーは消えません。 –

答えて

1
  1. 表セルのみが作成され、彼らが見えてくると、彼らは視野の外に行くとき、彼らは通常、アンロードし、解放されたとき、それはです。
  2. セル作成コードにNSLog(@"Cell loading");を入れて、コンソールを確認してスクロールしながら確認します。
  3. キャッシングを使用していますか?このドキュメントでは、表のセルをキャッシュしてパフォーマンスを向上させる方法を示しています。 table cellsを作成するときに何をやっていますか?パフォーマンスの低下がある場合は、セルを作成している間にそれが起こっていないはずです。
  4. 私は、テーブルを読み込む前にすべてのコンテンツを生成し、セルが作成されたときにそのコンテンツがすべてビューに配置されるようにします。
  5. 透明性を使用している場合、あらゆる種類の描画がパフォーマンスを大幅に低下させます。
+0

あなたの有益なヒントをありがとうございますが、今はパフォーマンスに大きな注意を払うつもりはありません。私は、私は "scrollerスタック"の問題は、カスタムUIViewControllerの代わりにXCodeによって生成されたUITableViewControllerテンプレートを使用して解決すると思います。数分間スクロールしてノンストップをテストし、スクロールバーが決して詰まったことはありません。 –

0

可能性のあるいくつかの問題については、cellForRowAtIndexPathメソッドをご覧ください。

セル再利用を使用していない場合は、処理が遅くなり、cellForRowAtIndexPathデリゲートメソッドでカスタムセルを再割り当てまたは再初期化して大きなパフォーマンスの問題を引き起こす可能性があります。

このメソッドのコードを投稿した場合、何が原因であるかについてのヒントが得られます。

+0

おそらく、テーブルデリゲートメソッドを扱う私のカスタムUIViewControllerに何か問題があります。とにかく私は(思う)私はXCodeによって生成されたUITableViewControllerテンプレートを使用して問題を解決しました。ありがとう。 –

1
後世のために

、そして唯一の有効なあなたはユニティ-iphoneを使用している場合:この問題は非常識な私を運転していたし、私はこの記事で提案とそれを固定:

にプリプロセッサフ​​ラグを変更

http://forum.unity3d.com/threads/113815-quot-Sticky-quot-scrolling-in-UITableView-and-UIScrollView-when-interfacing-Unity-and-Obj-C

#define USE_DISPLAY_LINK_IF_AVAILABLE 0 

は、ハッピーエンドを問題にしました。

関連する問題