iOS使用SizeClass适配不同屏幕

1、介绍图

2、不同屏幕、方向对应的类型 (wAny hAny 是所有类型)

2.1、iPhone4S/SE/6/X

2.2、iPhone6Plus

2.3、iPad(分全屏、split view)

3、如何选中各种类型

3.1、所有类型

        如下图,仅仅选了设备,没有选择Vary for Traits,这种类型就是 wAny hAny,在这种类型下做的操作是适配所有类型

3.2、wC hC类型(iPhone4S/SE/6/X 横屏)

3.2.1、选中设备和方向

        如下图,1 选中设备iPhoneSE,2 选中横屏,3 可以看到wC hC类型出来了,4 点击Vary for Traits 开始决定是否适配wC 或 hC

3.2.2、选择wC 或 hC

        如下图。Introduce Variations Based On: 如果只选中Width是 wC hAny类型,只选中Height是wAny hC类型,选中Width和Height是wC hC类型

3.2.3、进入类型模式

        如图展示,已经进入wC hC类型

3.2.4、退出类型模式

        操作完成后,必须点击Done Varying按钮,退出类型模式。如下图。

3.3、wC hR类型(iPhone所有设备竖屏、iPad部分Split View下一部分:可对照如上2知识点)

3.3.1、选择设备和方向

        如图,1 选中iPhoneSE,2 选中横屏,3 看到wC hR类型,4 点击Vary for Traits

3.3.2、选中wC 或 hR

        如下图。Introduce Variations Based On: 如果只选中Width是 wC hAny类型,只选中Height是wAny hR类型,选中Width和Height是wC hR类型 (文字似曾相识啊,哈哈,和wC hC都一样的)

3.3.3、进入类型模式、退出类型模式

        所有的类型模式进入和退出都是一样的,在这就不一一描述了。


3.4、wR hC类型 (iPhone6Plus/7Plus/8Plus)

        同上面类型选择


3.5、wR hR类型(iPad所有设备Full Screen)

        iPad和iPhone不同的是,iPad多了个选项adaptation,有Full Screen、Split View2/3、Split View1/3,是iPad特有的分屏模式,其他操作和前面的类型操作一样。


4、一个控件适配不同类型(wC hC、wC hR、wR hC、wR hR)

4.0、在wAny hAny类型下添加一个控件

4.1、wC hC 类型下添加约束

        首先切换到wC hC类型,就是选中iPhoneSE横屏的 Width和Height,然后添加约束上面10,左边0,如下图

4.2、wC hR类型下添加约束

        首先取消wC hC类型,再切换到wC hR类型,就是选中iPhoneSE竖屏的 Width和Height,然后添加约束上面20,左边50,如下图

4.3、wR hC类型和wR hR类型

        和前面两个类型都是一样操作的。


        iPhoneSE横竖屏适配效果:


5、在不同类型添加控件

        跟上面的操作大致相同,不同的是需要先切换到对应的类型下再添加控件。

        例:在wC hR下添加一个UILabel,在wC hC下添加一个UIButton


        效果图:


转载链接:https://www.jianshu.com/p/0b91341fead4


参考文献:

iOS8--关于regular和compact的理解

autolayout Compact,Regular,Any 解析

iOS 8 AutoLayout与Size Class自悟



猜你喜欢

转载自blog.csdn.net/weixin_42003092/article/details/79990350