zoukankan      html  css  js  c++  java
  • tableView代理方法执行顺序

    tableView代理方法执行顺序,随着iOS系统版本的不断升级,执行顺序也有所变化

    1.iOS7.1中先依次调一遍heightForRow方法再依次调一遍cellForRow方法,在调cellForRow方法的时候并不会再调一次对应的heightForRow方法。

    2.iOS8中先依次调heightForRow(如果行数超过屏幕依次调用两次,如果行数很少,没有超过屏幕,只依次调用一次),之后每调一次cellForRow的时候又调一次对应的heightForRow方法。

    3.iOS9iOS10中,heightForRow方法会先调用三次,然后每调用一次cellForRow的时候再调用一次对应的heightForRow

    4.因为iOS11中tableView的estimatedRowHeight默认值由原来的0变为UITableViewAutomaticDimension(打印出来为-1),所以每一次先调用cellForRow又调一次对应的heightForRow方法。

    如果把estimatedRowHeight设为0,则还是会先遍历一次每个cell的tableView:heightForRowAtIndexPath:获取总的高度值 然后每调用一次cellForRow的时候再调用一次对应的heightForRow。

  • 相关阅读:
    lnmp分离部署
    Nginx
    Keepalived脑裂监控
    KVM虚拟化
    mysql中间件proxysql实现mysql读写分离
    分离部署lnmp
    nginx
    Keepalived脑裂监控
    keepalived高可用
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/duzhaoquan/p/9481656.html
Copyright © 2011-2022 走看看