横竖屏适配-SizeClass - (Obj-C)

通过SizeClass的方式,在StoryBoard中点击如图位置:

SizeClass_01.png

通过提示信息可以判断适配屏幕类型:
默认模式:


![Uploading SizeClass_03_alliPhoneHorizontal_524183.png . . .]

适配所有手机横屏模式:

SizeClass_03_alliPhoneHorizontal.png

适配所有手机竖屏模式:

SizeClass_03_allIphone.png

还可以针对5.5寸横屏做专门的适配:

SizeClass_04_5.5Horizontal.png

选中需要适配的类型后点击,进入该模式预览,底部显示蓝色状态:

SizeClass_04_horizont.png

当需要切换时,再次点击切换适配屏幕类型即可

横竖屏适配一般分为两种情形:

1.横竖屏下显示控件一致,只是布局有所调整

  • 这种情形实现简单,只需要切换到需要适配的模式下(SizeClass(w Any& h Compact)),取消通用SizeClass下的约束,重新设置布局和约束就可以了
layout.png

这样每个控件都有了两套约束(分别在横屏、竖屏下,所以不会冲突)

竖屏视图:

SizeClass_02_vertical.png

横屏视图:

SizeClass_01_horizontal.png

2.横竖屏下显示控件不同,布局不同

  • 这种情况一般是布局样式区别比较大,可以设置两套视图,在横竖屏下分别显示不同视图

选中视图中的控件,在属性检测其下,有一处Installed的勾选项,如果勾选,就会在视图显示,如果取消勾选,就不会显示在视图上

SizeClass_6_Installed.png

需要注意的是:

  • 在某个SizeClass下添加视图: 在当前SizeClass的预览样式下直接添加,在其他的SizeClass下不会显示,如果需要全部显示,可以在通用模式下添加
  • 如果直接取消勾选,在任何视图下就都不会显示了,对于不需要在当前SizeClass下显示的视图: 选择该视图,在属性面板中添加当前SizeClass的属性,去掉当前SizeClass的勾选
SizeClass_6_installed_setting.png

这样设置后,才不会影响其他视图下的显示

竖屏视图:

SizeClass_6_vertical.png

横屏视图:

SizeClass_6_horizontal.png

在不同的SizeClass下,不显示的视图控件会显示成灰色

SizeClass.png

这样虽然视图设置OK了,但是会显示约束警告

Constraint.png

因为不同视图显示控件不一致,比如这里在横竖屏模式下,底部公用了一个View,约束不同,但是中心的View使用了不同的两个View,这样在横屏模式下,使用了自己独有的一个View,原本在竖屏模式下显示的中心View设置为关闭,所以还需要把对应的约束也关掉

横屏模式下,将在竖屏模式下才显示的view的子控件约束关闭

Constraint_1.png

同样还需要将竖屏模式下才显示的View自身的约束也关闭

Constraint_2.png

这样就不会出现警告了,因为只有在通用的视图下添加控件,才会被都显示出来,而在某一个SizeClass下添加的控件,不会被其他SizeClass显示,所以在手动设置的横屏SizeClass中,并不会影响竖屏模式下的视图,也不会出现约束警告的问题.

当然如果不关闭未启用控件约束也是不影响运行的,推荐还是将项目的警告减少到最少

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容