iOS大神养成记寒哥管理的技术专题iOS移动开发

UITableView

2015-07-06  本文已影响879人  Ljson

UITableView的数据源和代理:

数据源方法

代理方法

没有必须要实现的方法,代理主要是监听事件和做一些附加的约束

注意点:

  1. 使用tableview的时候一定要注意性能,相同类型的cell要重用。
  2. 使用自动布局设置cell子控件的布局的时候:
    • 使用xib或者storyBoard:
      1. 首先在interfaceBuilder中添加好约束;
      2. 再根据模型内容计算cell的高度。传入模型之后,让cell进行布局(调用[self layoutIfNeeded]方法)之后,系统会根据添加的约束计算出各个子空间的位置和尺寸,就可以根据内容得到行高了(减掉不需要显示的内容的尺寸就好)。
  1. 通过autoLayout使label根据最大宽度自动换行且自适应高度

    • 设置label的行数numOfLines0
    • 设置label的preferredMaxLayoutWidth(展示内容的最大宽度,即文字的最大宽度),这样label才可以自动根据文字布局(根据最大宽度,自动布局高度),达到自动换行的目的。

    注意:如果这个时候添加了label的宽度约束,就会发生约束冲突(不一定会报错误),因为preferredMaxLayoutWidth里面会结合label的字体等,计算出label的宽度

上一篇 下一篇

猜你喜欢

热点阅读