objective-c - tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-02 09:29:21
0
1
544

tableView 的cell中添加了计算cell的高度并且调用代理方法,返回给视图控制器
当服务器返回数据源的时候,刷新tableView。
但是,此时执行的cellForRowIndexPath 的indexPaht 是从第四行开始的,,
将前边的几个给跳过了,
我试着将cell的高度写成定值,
结果cell的数量正常,
这会是什么问题?

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(1)
迷茫

高さの計算が遅れているはずです。
tableView の表示順序は大まかに次のとおりです。
sectionNumbernumberForSection をリクエストして、セクションとセルの合計数を取得します。 sectionNumbernumberForSection 获取一共有多少个section和cell。
请求 heightForRow:atIndexPath 获取即将显示在界面上的 cell 的高度。
然后请求 cellForRow 获取这个 cell 的实例。
然后设置 cell 的高度等,layout 之后调用 willDisplay heightForRow:atIndexPath をリクエストして、インターフェイスに表示されるセルの高さを取得します。

次に、cellForRow をリクエストして、このセルのインスタンスを取得します。

その後、セルの高さなどを設定し、レイアウト後にwillDisplayなどのコールバックメソッドを呼び出してインターフェース上に表示します。

したがって、tableView を更新するとき、高さ部分の処理は、セル インスタンスにセルの高さを計算させてからコントローラーに呼び戻すのではなく、まずデータ ソースに従ってセルの高さを計算する必要があります。もちろん、セル内で計算することもできます。たとえば、セル内には受信セル データに基づいて計算されるクラス メソッドがあり、コントローラーはこのメソッドを積極的に呼び出します。おおよそのコードは次のとおりです:

コントローラーまたはtableViewのデリゲート実装クラス内:

リーリー 🎜MyTableViewCell:🎜 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!