微博-第五天

xmind

微博-第五天_第1张图片
微博第五天.jpg

总结

  • 苹果不推荐自己成为自己的数据源,封装自己成为自己的数据源和代理时只能在代码里实现,不能在storyboard或者xib中实现(自定义UICollectionView类)

  • 计算cell的高度:

    • 方式一:将cell内的子控件一个一个设置好约束,将最底部控件底部距离cell约束设置好,然后系统自动修改内容label报错将251修改为250,最后在viewDidLoad方法中设置rowheight为自动计算高度和估算高度。(tableView.rowHeight = UITableViewAutomaticDimension
      tableView.estimatedRowHeight = 200)

    • 方式二:将cell内的子控件一个一个设置好约束,将最底部控件底部距离cell约束去掉,然后实现heightforrow方法,最后在viewDidLoad方法中设置rowheight估算高度为XX值,然后在自定义cell的模型属性赋值方法中计算每一个控件高度进行累加(也可以强制cell布局后,获取最底部控件最大的y值),最后赋值给模型cellheight(自定义属性),最后在heightforrow方法返回cellheight。

  • 设置了估算高度,tableView显示3个cell,就会调用3次cellforrow方法和调用3次heightforrow方法,会先调用一次cellforrow方法后调用一次heightforrow方法

  • tableViewController控制器下self.view和self.tableView都表示tableView

  • 导航栏默认会有毛玻璃效果

  • 如果一个自定义view是从xib中创建的,那么在自定义view类中实现initwithcoder和awakefromnib方法,在initwithcoder方法中添加子控件,在awakefromnib方法中初始化子控件(也可以添加子控件)

  • 数组属性需要初始化

你可能感兴趣的:(微博-第五天)