- UIStackView 分屏适配 (Sizeclass)
1.iPad的分屏技术 iOS 9的API
1.1 可以让iPad前台同时有两个APP运行,实现真正的多任务处理
1.2 硬件要求 必须在iPad Air2以上
1.3 Xcode Bug:如果新建项目时没有选择Universal项目,后期将项目改成Universal后,也无法支持iPad分屏
2.iPad 分屏适配
2.1 分屏界面展示原则: iPad会按照iPhone竖屏显示样式(对应的Sizeclass)进行展示
2.2 如果项目一开始选择的不是Universal,则修改成Universal后,也无法支持iPad分屏
3.当控件进行布局时,如果空间产生竞争关系,则抗压优先级越高,抗挤压能力越强,空间竞争时,就会先挤压其他优先级低的控件(默认值:750 horizontal/Vertical),如果使用StackView尽量设置子控件,设置StackView可能会存在问题
3.1 抗压优先级( Contentent Compression Resistacnce Priority )
3.2 抗拉优先级( Contentent Hugging Priority )
使用优势:
当控件进行布局时,子控件间存在控件竞争,部分情景可以通过设置约束,写死高度或宽度来解决因为挤压冲突,导致部分子控件无法显示的问题,但此方式存在缺陷,在iPhone和iPad上,显示的尺寸应该是不一样的,又要设置SizeClass,比较麻烦,这时使用抗拉/抗挤压优先级就很轻松的解决了这个问题