iOS 之Size Class

一.iPhone屏幕尺寸简介

iPhone 4s
屏幕尺寸: 3.5英寸
分辨率:960 * 640

iPhone 5/ iPhone 5s / iPhone 5c / iPhone SE
屏幕尺寸: 4.0英寸
分辨率:1136 * 640

iPhone 6/ iPhone 6s / iPhone 7
屏幕尺寸: 4.7英寸
分辨率:1334 * 750

iPhone 6 plus / iPhone 6s plus / iPhone 7 plus
屏幕尺寸: 5.5英寸
分辨率:1920 * 1080

iPhone发展在4s之前,iPhone主流的屏幕尺寸是在3.5英寸,随着iPhone的发展,随后依次出现了大尺寸的屏幕的设备,随之而来的带给开发者的问题就是,如何一整套界面,来适配所有尺寸的屏幕呢,当屏幕切换的时候,怎么解决该横屏切换竖屏的问题。这一点苹果为开发者提供了解决的办法。
Size Class 尺寸类别

二. Size Class的应用

iOS开发中,UI控件的约束的创建是对开发人员最基本的步骤。适配横屏,竖屏的时候,通过苹果提供的Size Class可以通过一组UI控件,在不同的屏幕下,使用不同的约束,已达到不同的效果等。

Xcode 8 可视化界面,下方展示出了在各个设备下控件的显示状态,进行预览。


iOS 之Size Class_第1张图片
不同尺寸设备&屏幕方向显示UI控件

可以观察到wR hC这样的显示
W为Width;H为Height;R为Regular;C为Compact
iPad的Size Class 为 wR hR
iPhone 竖屏 wC hR
iPhone 横屏 wC hC
iPhone 横屏 wR hC (plus机型)
通过不同的Size Class可以在添加不同的约束的时候,指定该约束在不同的Size Class中可以使用,从而使得让一组UI控件,适配了不同的尺寸的设备。

三.Demo练习

在设备竖屏状态下显示的标签


iOS 之Size Class_第2张图片
设备竖屏状态下显示

在plus设备横屏状态下显示的标签

Plus机型横屏状态下显示的标签


iOS 之Size Class_第3张图片
plus机型横屏状态下显示

非plus机型显示的标签


iOS 之Size Class_第4张图片
非plus机型横屏状态下显示

你可能感兴趣的:(iOS 之Size Class)