2 sugar i love Sugar_I_Love 于 2016.03.11 08:32 提问

IOS 如何用纯代码适配屏幕
ios

在应用中如何用纯代码适配不同的iPhone设备,有没有好的方法?

7个回答

Margaret_MO
Margaret_MO   2016.03.22 22:50

用百分比适配啊

比如你控件的宽度在4寸手机上是120,那么在别的尺寸上的宽度:就是别的宽度跟当前宽度的一个比值 乘以 120

// 当前屏幕宽度 / 你在哪个尺寸的宽度做的 (比如5s的宽320) * 那个控件的宽度
let imgWidth = UIScreen.mainScreen().bounds.size.width / 320 * 120

5,5c,5S(4寸):320 * 568 px

jie_lin
jie_lin   2016.03.11 08:57

比较简单的方法就是用比例去设置frame

qq_29284809
qq_29284809   2016.03.11 09:33

使用Autolayout之Masonry解决适配问题

haoziy1989511
haoziy1989511   2016.03.11 09:57

赞同1楼,用Masonry不要太简单,代码量也少,用比例计算Frame如果是有横屏的 工作量还是蛮大的

mushaofeng1990
mushaofeng1990   2016.03.11 10:24

简单的用frame和autrsizeingmask 复杂的只能自己写autoLayout

aaaa99996666
aaaa99996666   2016.03.28 17:33

现在的适配用第三方Masonry加入约束条件也可以做适配的。
自己做适配的话会比较简单,其实可以通过UI给的高保真图的尺寸和实际的设备尺寸来计算autoSizeScale,然后每次写的时候就用高保真上的宽高来乘上这个autoSizeScale。
例如:UI给的高保真是按照6的尺寸做的话,那么就RealUISrceenWidth=375,RealUISrceenHight=667,
autoSizeScaleX=获取实际设备的宽/RealUISrceenWidth,autoSizeScaleY = 获取时间设备的高/RealUISrceenHight.然后再把高保真上的宽和高拿过来分别*autoSizeScale的值就可以了。
修改RealUISrceenHight 4/4s : 480 5/5s :568 6/6s: 667 6p/6sp :736
修改RealUISrceenWidth 4/4s 5/5s: 320 6/6s :375 6p/6sp: 414
希望对lz有帮助

aaaa99996666
aaaa99996666 这个修改的是看高保真的尺寸,你可以问问你们ui出的图是多少尺寸的就知道
2 年多之前 回复
lx624909677
lx624909677   Ds   Rxr 2016.03.30 19:34

所有的控件全部用代码加添,然后坐标用相对坐标,相对坐标的计算根据屏幕尺寸来计算得到

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS开发 - 屏幕适配之纯代码
1、简介 自从iPhone5发布之后,iPhone系列的手机就需要做屏幕的适配,本文讲解如何使用代码进行屏幕适配 这里的讲解不会贴出图片展示,还希望大家自己多多动手操练 2、概念 屏幕适配两个重要的概念:参照、约束 参照:就是控件的位置和宽高等属性相对于哪一个控件而言的 约束:就是对控件的宽高和位置等属性进行设置 3、NSLayoutConstrain
iOS 纯代码适配iPhone6,6+
首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6+添加两张特殊的png iPhone6:命名:Default-375w-667h@2x.png   分辨率:750*1334 6+ 命名:Default-414w-736h@3x.png
IOS纯代码实现AutoLayout适配多屏幕
关于AutoLayout,最早从iOS6开始引入使用。主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换。网上大量的资料都在介绍xib和storyboard,如何使用AutoLayout,说纯代码使用AutoLayout进行UI布局的越来越少。对于我这个习惯了代码UI布局的人,写个备忘:AutoLayout是什么? 使用一句Apple的官方定义的话 AutoLayout是一种基于约
iOS开发屏幕适配,纯代码是如何实现的?
【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)  (2014-09-19 09:35:47) 转载▼ 标签:  autolayout   ios开发   xcode   ui 分类: Xcode/iOS/MacOS 关于AutoLayout,最早从iOS6开始引入使用。 主要
iOS中的Masonry纯代码适配屏幕例子
文章来自http://www.brighttj.com/ios/ios-masonry-demo.html#comment-353 如果说自动布局解救了多屏幕适配,那众多三方库的出现就解救了系统自动布局的写法。Masonry就是其中一个。 在Github上,Masonry已经得到6000+个star,用法上也比较简单灵活,很大程度上替代了传统的NSLayoutConstraint布局方式。
IOS 屏幕适配(纯粹通过代码设置坐标和大小的布局方案)
看了网上有很多屏幕适配的文章,大多是用iOS的相对布局来实现屏幕适配(autoLayout,或Masonry)。 一些文章主要解决,iphone6/6p刚出来时,以前只解决屏幕高度适配,现在也要解决屏幕宽度适配的问题。 本文主要解决,项目已经过度过来,但做新的页面时,UI给的设计往往只有iphone6的尺寸,如何向下兼容 iphone4s/iphone5/5s,向上兼容6p。
为iPhone6设计自适应布局(纯代码实现)
目前网络上已经有很多关于AutoLayout的讲义可供大家学习,大部分的Demo都是通过IB或者Storyboard上完成的。很多人也在思考,到目前iOS 8这个版本,使用代码来实现UI布局是不是合适?今天有时间,使用纯代码写了一小段布局代码,供大家比较。 本文所需要实现的界面布局来自这一篇博客:ADAPTIVE LAYOUTS FOR iPHONE 6,对应的中文翻译版本为:为iPhone
一个用纯代码完成的自适应屏幕的iOS App UI部分代码
一个用纯代码完成的自适应屏幕的iOS App UI部分代码,包括可以安装运行的ipa和app的界面流程图。努力一周时间完工,本以为可以挣点小钱的,结果用户说他们的后台功能只能用故事版整合,所以代码无用,就杯具了。放在这里,仅供参考。
纯代码适配iPad横竖屏
纯代码实现ipad横屏竖屏的适配
iphone X 屏幕适配
1、前言 就在今天(2017年09月13日 )凌晨,苹果发布了带刘海的 iPhone X,这个屏幕需要 iOS 开发者做新的适配,会后苹果发布了 iPhone X 的适配指南,我们将它翻译出来供大家参考。 2、iPhone X iPhone X 拥有一个宽大的、高分辨率、圆角的、扩展到边缘的屏幕,提供了以前从未有过的沉浸式、内容丰富的体验。 1.jpeg (117.22 KB, 下载次数: 5)下载