UI基本原则

1 职责

1.1 UIViewController的职责

UIView、事件的管理者,负责创建依赖关系。网络

1.2 UIView的职责

  1. 是子视图、事件、CALayer的管理者。布局

  2. 处理布局。url

2 布局

大多数状况下,AutoLayout是自上而下进行布局,视图树上,父节点设置subviews的约束。code

这样只要知道了树根的frame就能够绘制出整棵视图树。cdn

有些状况下,下层布局会影响上层,如tableView的自动估计、朋友圈新增回复。blog

这时候,视图树子节点须要告诉相应的父节点去从新计算本身的约束,并刷新布局。继承

3 代码组织

3.1 对于view

  1. initWithFrame中事件

    组装subviewget

  2. setModel中it

    配置数据源,needLayout

  3. layoutSubview中

    处理布局

3.2 对于viewController

  1. init,只有须要传一些参数的时候,才须要

    不要出现self.view,只作普通属性赋值(如model,详情页url等)

  2. viewDidLoad中

    组装好subview

  3. viewWilAppear中

    处理数据相关,处理系统级任务(好比statusbar、网络监听等)

  4. viewDidLayoutSubviews中

    处理布局

  5. subview在getter中初始化

  6. 瘦身

    ViewModel、RAC、category

4 常见类继承关系

5 常见作法

把loadingView等常见统一操做,写到一个UIViewController的分类中。

相关文章
相关标签/搜索