使用SizeClass

来源:互联网 发布:pano2vr软件视频教程 编辑:程序博客网 时间:2024/06/05 18:52

简介

iOS的各种设备屏幕尺寸各不相同,开发一个app不得不考虑所有的尺寸。幸好有Auto Layout,极大的简化了这一过程。现在又有了Size Classes,我们甚至可以在iphone和ipad中显示完全不同的内容!

♦ 当然,必须首先打开Use Size Classes选项。新建的工程默认就是打开的,像下图这样。(我用的是Xcode 7.1)



Size Class是依托Auto Layout存在的,如果去掉Use Auto Lyaout前面那个勾,就会弹出下面这个框。



♦ 在storyboard编辑状态下,点击底部的 wAny hRegular



上图中深色区域是可以手动调整的,对应了不同设备的尺寸。比如选中下图所示的一块,提示“3.5-inch, 4-inch, 4.7-inch iphone in portrait and landscape



下面这个图是在网上找的



例子

♦ 下面使用一个例子来看下Size Class可以做什么

eg1,

有一个label,显示为“Hello iPad”。如果不让它在iPhone4, 5, 5s, 6中显示,该怎么做?

选中这个label, 在右侧Attributes inspector中,点号,选择Compact Width ▶️Any Height, 这时原来的Installed下面会增加一行,把前面勾去掉,如下图所示:



在iPad模拟器中运行,屏幕中显示”Hello iPad”, 再切换到phones 5s, 这个label就不见了。

eg2,

同一个 UIView,在iPad和iPhone中显示不同的尺寸:iPhone中铺满屏幕,iPad 中留50的边距。

首先选中左边那个约束:



在下图中点号:



选择Compact Width ▶️Any Height, 将值改为0:



运行iPhone 5s模拟器, 水平部分已经设置好了:



再看iPad:



0 0