微博-第五天

xmind 微博-第五天
文章图片
微博第五天.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方法中初始化子控件(也可以添加子控件)
  • 数组属性需要初始化

    推荐阅读