QF——对不同尺寸屏幕的适配(自动布局:AutoLayout)

对不同尺寸设备UI的适配:

  很多时候,我们的App可能运行在不同尺寸的设备上,或者横竖屏时,呈现方法应该也不一样。这样便要求UI里各控件的位置和大小不能写死。

  对于不同尺寸UI的适配,一般有三种对策:

下策:硬编码,对不同的设备,写不同的代码布局。

  在代码中判断设别的型号,从而根据不同的尺寸来设置各控件不同的位置。或者监听横竖屏,在不同状态也设置不同的位置和大小。

  这种方法可行,但工作量大,让人蛋疼。

中策autoresizingMasks ,它只能完成“父子视图”的相对位置。而不能解决“兄弟视图”之间的相对位置。

 autoresizingMasks既可以通过代码实现(枚举),http://www.cocoachina.com/ios/20141216/10652.html

  也可以通过Xcode的可视化界面操作完成。

上策:autolayout ,"父子视图"和“兄弟视图”的相对位置都能解决。蓝线代表约束条件可以确定控件的位置了,橙色代表还不能完全确定控件的位置。

http://www.devtalking.com/articles/adaptive-layout-for-iphone6-1/

时间: 2024-11-16 14:36:09

QF——对不同尺寸屏幕的适配(自动布局:AutoLayout)的相关文章

iPhone多尺寸屏幕适配--等比例数值计算

作为一个iOS开放者,在iPhone6和iPhone6 plus发布之后,慢慢的都会遇到屏幕适配的问题. 在讨论适配之前,我们先来看看系统提供的放大模式. 放大模式下:屏幕尺寸仍然为320宽度,会根据设备,界面等比放大至其他屏幕宽度的尺寸,由于是放大,会导致界面有轻微的模糊,并且状态栏也会和平时不一样(明显变大了). 那么适配模式下呢?不同尺寸设备的屏幕点像素是不一样的,如果要处理一个界面,并且要求iPhone6plus和iPhone5S是同一套设计稿,看起来一样比例.那么怎么破? 无论是使用传

iOS开发UI篇—屏幕适配autoResizing autoLayout和sizeClass图文详解

1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基本不用怎么适配布局,所有的ui控件只要相对父控件布局就可以了,没错autoResizing就是一个相对于父控件的布局解决方法:注意:它只能相对父控件布局:***在xcode中可以通过可视化的界面调整也可以通过代码去控制 在用autoResizing的时候需要关闭autoLayout和sizeclas

移动端屏幕的适配

因为对H5较感兴趣,所以没事的时候会看一些文章博客. 废话不多说,先引入问题, 关于移动端屏幕的适配你有没有什么想说的 ?首先 我之前一直使用的就是这种Rem 缩放的方法去做的,content= "width= device-width",initial-scale=1.0,可以实现针对不同屏幕实现缩放效果,并且不出现滚动条, 而在内容部分使用 Rem进行对等比缩放,我们知道Rem 是一个相对长度 单位,它的大小会根据HTML根元素设置的font-size的大小进行换算, 根元素(ht

Android屏幕大小适配问题解决

? 一.一些基本概念 1.长度(真实长度):英寸.inch 2.分辨率:density 每英寸像素数  dpi(密度) 3.像素:px 4.dip的公式:px /dip=dpi/160  所以 dip 类似于英寸.长度(dp=dip,sp类似于dip)  dip=160*inch dip= 160/dpi * px 当dip一定时,dpi 越大,px就越大 5.广义分辨率=长px*宽px 二.经常使用规律 1.平时我们说 手机的分辨率是 320*480的,事实上的这里的分辨率是相对分辨率 意思是

第九章 多语言环境的支持和多屏幕的适配(2)

9.3多屏幕的适配 9.3.1屏幕参数的基本概念 Android手机屏幕大小不一,有480x320.640x360.800x480等等,还包括不同屏幕密度,怎样才能让应用程序自动适应不同的屏幕呢? 首先我们来了解几个基本概念: 1)屏幕尺寸Screensize 即显示屏幕的实际大小,按照屏幕的对角线进行测量. 为简单起见,Android把所有的屏幕大小分为四种尺寸:小.普通.大.超大(分别对应:small.normal.large.extralarge). 应用程序可以为这四种尺寸分别提供不同的

第九章 多语言环境的支持和多屏幕的适配(1)

第九章 多语言环境的支持和多屏幕的适配 资源是在代码中使用到的,并且在编译时被打包进应用程序的附加文件.出于加载效率的考虑,资源被从代码中分离出来,而且XML文件被编译进二进制代码中.在Android中,程序代码可以不直接和资源发生关系,而是通过R文件提供的索引来间接的引用某一个资源.Android系统会自动根据用户当前的环境,和屏幕分辨率情况,自动选用最合适的资源.正是基于Android系统这种独特的处理方式,开发者可以编写多套资源文件,从而很方便的实现多语言环境的支持和多种屏幕的适配. 本章

iOS 屏幕适配:autoResizing autoLayout和sizeClass

1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基本不用怎么适配布局,所有的ui控件只要相对父控件布局就可以了,没错autoResizing就是一个相对于父控件的布局解决方法:注意:它只能相对父控件布局:***在xcode中可以通过可视化的界面调整也可以通过代码去控制 在用autoResizing的时候需要关闭autoLayout和sizeclas

iOS中的屏幕适配之Autolayout(初级)

这是第二篇博客啦啦啦,来来来,嗨起来,今天我们要说的时iOS的屏幕适配,随着APPLE推出的手机越来越多,屏幕的尺寸也越来越多,而屏幕的适配确是相当的麻烦,今天我要说的,网上也许早就有了,我只是说出自己的理解(可能不对啊,勿喷....) Autolayout其实就是约束了,今天讲得是代码添加约束,用到的第三方是Masonry,相信代码写约束的都知道这个第三方库,好了,废话不多说,代码搞起 首先你要去下载个Masonry,或者用cocoapods加到工程中,先来个简单点得例子啊,下面请重点看注释啊

腾讯的手机屏幕的适配代码

腾讯的适配代码 ,比较权威 ,果断盗用! <script type="text/javascript"> if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test