sizeClass

sizeclass

将苹果设备的宽和高分为紧凑和正常两大类进行适配

sizeClass_第1张图片
sizeclass-1
  • iPhone4S,iPhone5/5s,iPhone6
    竖屏:(w:Compact h:Regular)
    横屏:(w:Compact h:Compact)
  • iPhone6 Plus
    竖屏:(w:Compact h:Regular)
    横屏:(w:Regular h:Compact)
  • iPad
    竖屏:(w:Regular h:Regular)
    横屏:(w:Regular h:Regular)
  • Apple Watch(猜测)
    竖屏:(w:Compact h:Compact)
    横屏:(w:Compact h:Compact)

让一个按钮在iPhone竖屏时在左上角,iphone横屏时在正中间,步骤如下:
1.先选定对应的sizeclass


sizeClass_第2张图片
QQ20170324-1.png

2.拖一个button到控制器里,设置相应约束。


sizeClass_第3张图片
QQ20170324-2.png

3.切换到iPhone横屏时的sizeclass
sizeClass_第4张图片
QQ20170324-3.png

发现视图里并没有button,左边栏里的按钮呈灰色

4.选择第三部的➕号


sizeClass_第5张图片
QQ20170324-4.png

由于已经切换到了横屏的sizeclass,所以默认会给你提供对应的sizeclass,否则要在下面三项里自己选


sizeClass_第6张图片
QQ20170324-5.png

勾选Installed


QQ20170324-6.png

发现有约束错误,因为还没有为横屏状态的button设置约束
sizeClass_第7张图片
QQ20170324-7.png

设置好居中的约束后错误消失,已经实现了在竖屏时在左上角,横屏时居中的效果

以上操作在Xcode 7.2中完成

vary for traits

Xcode8 以后原先sizeclass的地方换成了 vary for traits
点击vary for traits 可以选择针对不同的设备进行布局

选中iphone竖屏时


QQ20170324-11.png

QQ20170324-12.png

QQ20170324-13.png

选中iPhone横屏时


QQ20170324-8.png

Q20170324-9.png

QQ20170324-10.png

记得约束设置完成之后再点击Done varying
实现上面的功能步骤大致相同
sizeClass_第8张图片
QQ20170324-0.png

相关设置上比sizeclass可以更方便的设置背景颜色等属性
以上在Xcode8.2.1上完成

你可能感兴趣的:(sizeClass)