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相关推荐
- 2021年最详细的Android屏幕适配方案汇总
1 Android屏幕适配的度量单位和相关概念 建议在阅读本文章之前,可以先阅读快乐李同学写的文章<Android屏幕适配的度量单位和相关概念>,这篇文章包含了阅读本文的一些基础知识,推荐 ...
- IOS 屏幕适配(一)理论篇
IOS 屏幕适配(一)理论篇 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 1.1.2 IOS 各个设备对应的分辨率 1.2 设计和开发之间的多屏适配 ...
- Android屏幕适配方案
一. 手机适配的应用和使用场景 使android应用程序适用于不同的国家语言.型号.尺寸和SDK版本等手机环境中,其主要功能和界面风格保持不变. 手机适配主要包括三个方面:语言适配.屏幕适配.SDK平 ...
- Android 屏幕适配方案(七)
原文地址为: Android 屏幕适配方案(七) 一. 手机适配的应用和使用场景 使android应用程序适用于不同的国家语言.型号.尺寸和SDK版本等手机环境中,其主要功能和界面风格保持不变. 手机 ...
- IOS 屏幕适配理论篇
@[TOC](IOS 屏幕适配(一)理论篇) 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 1.1.1 分辨率相关概念 点(Points): 是iOS开发中引入的抽象单位,称作点 ...
- 超详细的rem+vw移动端屏幕适配方案
在说具体内容之前,我们必须了解几个概念,就是:Retina屏.物理像素.设备独立像素.设备像素比 在CSS中我们一般使用px作为单位,需要注意的是,CSS样式里面的px和物理像素并不是相等的.CSS中 ...
- android屏幕适配教程,Android屏幕适配方案,android屏幕适配
Android屏幕适配方案,android屏幕适配 文章转载禁止用于商业用途,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处莫高雷草原以及作者@JiongBull. Android屏幕适配方 ...
- 给你一个全自动的屏幕适配方案(基于SW方案)二 —— Calces.Screen插件拓展功能升级...
如果不了解Calces.screen插件的用法或者想深入了解sw( Smallest Width) 屏幕适配方案的话,可以阅读上一篇文章: 给你一个全自动的屏幕适配方案(基于SW方案)!-- 解放你和 ...
- 移动端高清、多屏幕适配方案
2019独角兽企业重金招聘Python工程师标准>>> 移动端高清.多屏幕适配方案 http://div.io/topic/1092 https://github.com/amfe/ ...
最新文章
- 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
- SpringBoot @EnableAutoConfiguration注解
- Hadoop 分布式集群搭建步骤
- 【已解决】蓝桥杯 2017年C组第五题 杨辉三角(分析与总结)
- 435. 无重叠区间(贪心经典题+思路+详解)
- python自动保存图片_Python学习笔记:利用爬虫自动保存图片
- 【Python】小练习
- ibiliplayer是什么_Bilibili视频播放页面接口整理(不定期更新)
- boost::asio async_write也不能保证一次发完所有数据 二
- 【Uva 11604 编码都有歧义了】
- 如何确定梯度爆炸和解决梯度爆炸
- Mysql优化(出自官方文档) - 第五篇
- redhat 替换centos yum源
- 基于 Java 机器学习自学笔记 (第60天:过去十日的总结)
- API接口之webservice接口
- WPS Office 2021 for Mac(办公软件)
- Android隐藏app应用图标(隐式启动)
- 学习笔记1--汽车发展史及发展趋势
- 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_网络安全科普 | 如何正确设置浏览器!...
- 修炼魅力女人“诱惑”术
热门文章
- python实现多表格合并_用python实现多个表格合并按字段去重
- list java removeif_java – removeIf()方法.从List中删除所有元素
- Unity游戏中的一些规范和优化建议
- GPU Pro2 - 1.Terrain and Ocean Rendering with Hardware Tessellation
- Openpose推断阶段原理
- 线程的基本协作和生产者消费者
- 【自制工具类】Java删除字符串中的元素
- 54.get set
- vs里根据json快速创建对应类的方法
- Fiddler 域名过滤