1> sizeclasses 可以限制某个 storyboard 显示在什么样的屏幕上,如 当前 storyboard 在iPhone 的左斜右斜或 iPad上是否显示..

2> Hug值表示抗拉抻优先级,CompressionResistance值表示抗压缩优先级。这两个优先级和宽度的优先级是一起比较的.....

如果 UILabel 宽度的约束过小,但是内容过多,肯定会拉伸.....如果宽度约束的优先级小于抗压缩优先级,则会先被拉伸.....

例如,图片本身大小133*133,抗压优先级CompressionResistance为750,显式宽度约束为120优先级为1000。由于显示宽度优先级大于抗压优先级,所以最终图片宽度为120。但是,当我们降低显式宽度约束的优先级,令其小于抗压优先级时,以自身宽度133为主.

(PS:只能比较Hug 和宽度约束优先级的大小或CompressionResistance和宽度约束优先级的大小,不能比较Hug和CompressionResistance的大小.)

3> 如果布局一个复杂的视图,可以把整个页面分成几个大的容器 UIView. 先固定大的,再在大的容器里面添加小元素.

如果需求是两边大小固定,中间大小可变,就可以让中间容器里面的视图从左到右连成一条线,并且让可变视图的宽度不固定.

05-11 17:23