sizeClass

作者: zcApple | 来源:发表于2017-03-24 16:34 被阅读44次

sizeclass

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

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


QQ20170324-1.png

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


QQ20170324-2.png
3.切换到iPhone横屏时的sizeclass
QQ20170324-3.png
发现视图里并没有button,左边栏里的按钮呈灰色

4.选择第三部的➕号


QQ20170324-4.png

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


QQ20170324-5.png

勾选Installed


QQ20170324-6.png
发现有约束错误,因为还没有为横屏状态的button设置约束
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
实现上面的功能步骤大致相同 QQ20170324-0.png

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

相关文章

网友评论

      本文标题:sizeClass

      本文链接:https://www.haomeiwen.com/subject/rvhfottx.html