84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
tableView 的cell中添加了计算cell的高度并且调用代理方法,返回给视图控制器当服务器返回数据源的时候,刷新tableView。但是,此时执行的cellForRowIndexPath 的indexPaht 是从第四行开始的,,将前边的几个给跳过了,我试着将cell的高度写成定值,结果cell的数量正常,这会是什么问题?
高さの計算が遅れているはずです。 tableView の表示順序は大まかに次のとおりです。 sectionNumber と numberForSection をリクエストして、セクションとセルの合計数を取得します。 sectionNumber 和 numberForSection 获取一共有多少个section和cell。请求 heightForRow:atIndexPath 获取即将显示在界面上的 cell 的高度。然后请求 cellForRow 获取这个 cell 的实例。然后设置 cell 的高度等,layout 之后调用 willDisplay heightForRow:atIndexPath をリクエストして、インターフェイスに表示されるセルの高さを取得します。
sectionNumber
numberForSection
heightForRow:atIndexPath
cellForRow
willDisplay
その後、セルの高さなどを設定し、レイアウト後にwillDisplayなどのコールバックメソッドを呼び出してインターフェース上に表示します。
したがって、tableView を更新するとき、高さ部分の処理は、セル インスタンスにセルの高さを計算させてからコントローラーに呼び戻すのではなく、まずデータ ソースに従ってセルの高さを計算する必要があります。もちろん、セル内で計算することもできます。たとえば、セル内には受信セル データに基づいて計算されるクラス メソッドがあり、コントローラーはこのメソッドを積極的に呼び出します。おおよそのコードは次のとおりです:
コントローラーまたはtableViewのデリゲート実装クラス内:
高さの計算が遅れているはずです。
次に、tableView の表示順序は大まかに次のとおりです。
sectionNumber
とnumberForSection
をリクエストして、セクションとセルの合計数を取得します。sectionNumber
和numberForSection
获取一共有多少个section和cell。请求
heightForRow:atIndexPath
获取即将显示在界面上的 cell 的高度。然后请求
cellForRow
获取这个 cell 的实例。然后设置 cell 的高度等,layout 之后调用
willDisplay
heightForRow:atIndexPath
をリクエストして、インターフェイスに表示されるセルの高さを取得します。cellForRow
をリクエストして、このセルのインスタンスを取得します。その後、セルの高さなどを設定し、レイアウト後に
willDisplay
などのコールバックメソッドを呼び出してインターフェース上に表示します。したがって、tableView を更新するとき、高さ部分の処理は、セル インスタンスにセルの高さを計算させてからコントローラーに呼び戻すのではなく、まずデータ ソースに従ってセルの高さを計算する必要があります。もちろん、セル内で計算することもできます。たとえば、セル内には受信セル データに基づいて計算されるクラス メソッドがあり、コントローラーはこのメソッドを積極的に呼び出します。おおよそのコードは次のとおりです:
コントローラーまたはtableViewのデリゲート実装クラス内:
リーリー 🎜MyTableViewCell:🎜 リーリー