iOS 自动布局

布局过程

  1. 更新约束
  2. 布局(frame等)
  3. 呈现(如tableView)

调用流程

  1. setNeedsUpdateConstraints ->( updateConstraintsIfNeeded -> updateConstraints) + layoutSubviews
  2. setNeedsLayout -> (layoutIfNeeded-> layoutSubviews)

布局根据数据

-updateConstraints {
  xxx.constant = valueWithModel
}
-function {
  view.setNeedsUpdateConstraints
}

刷新布局

xxx.constant = newValue
view.setNeedsLayout

动画

constraint.constant = newValue
UIView.animatexxx ^{
  view.setNeedsLayout
}

results matching ""

    No results matching ""