AutoLayout

session1

水平方向布局 内容不够时 label 优先被压缩,内容充足时label优先被拉伸

[_nameLab setContentCompressionResistancePriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal];
[_nameLab setContentHuggingPriority:UILayoutPriorityDefaultLow-1 forAxis:UILayoutConstraintAxisHorizontal];

屏幕快照 2019-04-12 下午4.07.41.png

垂直方向布局 button 和 stackView 设置
情景:竖直方向高度过大,目标是优先stackView 高度拉伸,在正常布局情况下(不设置任何CompressionResistancePriority ContentHuggingPriority)button被优先拉伸

  • 涉及拉伸肯定是设置ContentHuggingPriority属性
  • 本着谁小谁先被改变的原则,把 stackView的ContentHuggingPriority设置为子视图里最小的值,就会优先被拉伸
    然鹅事情并没有按照预想的发生,还是button被优先拉伸了
    经过多番尝试 把button的ContentHuggingPriority调高解决了问题
    button.setContentHuggingPriority(.defaultHigh, for: .vertical)
    why???

系统尺寸
返回按钮可视区域,left:8
rightBarItem距离右边界 right:8

推荐阅读更多精彩内容