UITableViewのセルフサイジングセルの設定で、estimatedRowHeightを指定する必要があります。セルが表示される前にセルの高さが最初に計算されるため、これはなぜ必要なのでしょうか?セルフサイジングセルにestimatedRowHeightが必要なのはなぜですか?
1
A
答えて
2
行の高さをUITableViewAutomaticDimension(-1)に設定すると、自動レイアウトエンジンは行の高さを解決する必要があることを通知します。推定された高さは、エンジンにレイアウト制約式を解くための最初の推測を与えます。テーブルビューのロードのパフォーマンスを向上させることができ、行の高さの非負の推定値を提供
:estimatedRowHeightのドキュメントから
。テーブルに可変高さの行が含まれている場合、テーブルがロードされるときにすべての高さを計算するのにはコストがかかる可能性があります。見積もりを使用すると、読み込み時間からスクロール時間まで幾何学計算のコストの一部を延期することができます。
セルフサイジングテーブルビューセルを作成するときは、このプロパティを設定し、制約を使用してセルのサイズを定義する必要があります。
関連する問題
- 1. なぜPDFファイルにLOG4JとSLF4Jが必要ですか?なぜ.Docファイルには必要ないのですか?
- 2. コードファーストクラスにはナビゲーションプロパティが必要なのはなぜですか?
- 3. PEにはオリジナルファーストサンク(OFT)が必要なのはなぜですか?
- 4. このコードにklassが必要なのはなぜですか?
- 5. RangeReplaceableCollectionに空のイニシャライザが必要なのはなぜですか?
- 6. このステートメントにセミコロンが必要なのはなぜですか?
- 7. Android SDKにJDKが必要なのはなぜですか?
- 8. Assembly.GetTypes()に参照が必要なのはなぜですか?
- 9. GridViewにBaseAdapterが必要なのはなぜですか?
- 10. CustomFieldSerializerに静的メソッドが必要なのはなぜですか?
- 11. amp-imgにクローズドタグが必要なのはなぜですか?
- 12. operator <<にconstが必要なのはなぜですか?
- 13. Selenium Webdriverにサーバーが必要ないのはなぜですか?
- 14. Gradleにsettings.gradleファイルが必要なのはなぜですか?
- 15. lsyncdにxnuが必要なのはなぜですか?
- 16. WebにHTTPが必要なのはなぜですか?
- 17. RubyにGemfile.lockが必要なのはなぜですか?
- 18. ブーストにio_serviceが必要なのはなぜですか?
- 19. C/C++にセミコロンが必要なのはなぜですか?
- 20. ラベルにsizeToFitが必要なのはなぜですか?
- 21. sendTextMessageにREAD_PHONE_STATE権限が必要なのはなぜですか?
- 22. asyncio.wait_for()にタイムアウトが必要なのはなぜですか?
- 23. レールにJavaScriptランタイムが必要なのはなぜですか?
- 24. インテントにコンテキストが必要なのはなぜですか?
- 25. ブートストラップにjQueryが必要なのはなぜですか?
- 26. フィジカルウェブに場所が必要なのはなぜですか?
- 27. rabbitmqにルーティングキーが必要なのはなぜですか
- 28. ディープラーニングにGPUが必要なのはなぜですか?
- 29. Vueコンポーネントオブジェクトに値が必要ないのはなぜですか?
- 30. Razorにラムダ表記が必要なのはなぜですか?
提供された見積もりがどのようにパフォーマンスを向上させるかはわかりません。各セルの高さはまったく異なります。 UIKitは任意の見積りを設定するだけでしょうか? – Boon
ソルバーを助けるには、推定された高さはできるだけ最終高さに近づける必要があります。これにより、レイアウトエンジンが正しい値を見つけるまでの繰り返し回数が少なくなります。セルの高さが大きく変化していても、平均、中央値、またはモード値に推定高さを設定すると、最も近い値が得られ、うまくいきなり反復回数を減らすことができます(平均)。 – Jbryson