iOS屏幕适配方案-Auto Layout

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS屏幕适配方案-Auto Layout相关的知识,希望对你有一定的参考价值。

市场上的android手机五花八门。各种尺寸的屏幕让android程序员们比較头疼。

也有一些大神写了一些博客提出了自己的观点。ios貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己的方法-auto Layout 。

本人初学iOS。今天学了自己主动布局。在学习的过程中,毕竟还是有些知识点没有接触到的,因此写这篇博客来深入的了解一下Auto Layout。

官方解释:
Auto Layout 是一个系统,能够让你通过创建元素之间关系的数学描写叙述来布局应用程序的用户界面。——《Auto Layout Guide
Auto Layout 是一种基于约束的。描写叙述性的布局系统。——《Taking Control of Auto Layout in Xcode 5 - WWDC 2013
我们给布局添上约束 (Constraints)来给控件定位和控制大小。而不是像android和html5一样通过size等属性来控制布局。iOS控件貌似没有size概念,而是全然通过constraints来控制大小。

技术分享
打开storyboard。我在顶部和底部拖了两个控件。看图一目了然。右边iPhone4底部控件看不到了。iPhone6+控件已经偏出。

接下来来看怎样解决,先看张图:
技术分享
1、选中view controller
技术分享
2、按住ctrl键。往上拉,选中 Top Space to Top Layout Guide
技术分享
技术分享
此时我们看到的线已变成orange颜色,说明加入的约束不够。继续往左和右边拉。
3、颜色变成绿色就算好了。


技术分享
4、底部的控件一样加入约束。

測试结果:
技术分享
适配成功。
总结:
直接说以后都应该使用storyboard+autolayout感觉是不负责的说法,可是深入思考autolayout是非常有必要的!
例如以下情况使用autolayout会有帮助:
当须要展示的内容非常多而且尺寸不固定;
程序需支持屏幕旋转(主要是iPad程序。iPhone程序横屏的场景有点非主流,也不排除..手游..);
但storyboard中使用autolayout有利有弊。优点当然是可视化,实现简单功能非常节省时间,但也有弊端,比如不小心移动一个控件就会让弄乱那些约束























以上是关于iOS屏幕适配方案-Auto Layout的主要内容,如果未能解决你的问题,请参考以下文章

安卓屏幕适配

iOS屏幕适配的几种方式

屏幕适配

IOS项目新手引导页图片适配方案

H5在移动端尺寸适配方案

Android 屏幕适配屏幕适配基础概念 ① ( Android 与 iOS 屏幕宽高比种类 | 屏幕像素密度 DPI )