iOS屏幕适配(续)

上一篇博客总结了iOS屏幕适配的若干技巧,本文再补充几点别的方面

设计图

一般会先由美工做出界面的设计图,然后开发再去实现。上一篇博客说的主要是,开发怎么实现的问题。实际上从设计图这个环节,就需要开始考虑界面适配的问题。主要是2点:

1、出几张图

如果以iPhone6为基准出设计图的话,一般很难完美地适配到iPhone4,5和6P上,因为屏幕尺寸差异很大。一般在6上摆得很紧凑好看,在4和5上就会摆不下(溢出屏幕),在6P上则会有比较大的空隙

通常有几种办法:

设计元素的位置和大小,不用具体的数值,而是使用百分比,这样在每种屏幕上会适配。但是通常这只是理想情况,因为4种屏幕的宽高比都不一样,必然会出现拉伸的情况;可能在4上的显示区域和点击区域都会非常小;而且也难以达到最佳视觉效果

尽量考虑流式布局,比如瀑布流,滚动页面等,这样由于页面可滚动,通常不会出现太大的问题。相比之下,把显示区域限制在一个屏幕里,就容易出问题

最完美的办法,出4张设计图,尺寸用具体数值而不是百分比。这种做法可以在每个屏幕上达到最佳效果。当然设计和开发的工作量也是最大的

2、点和分辨率的关系

iOS在开发的时候,用的单位是point,可是一般只有开发人员才理解这个概念,设计师画图时一般都是用分辨率。在4,5,6上都是2X分辨率,而在6P上是3X分辨率。在设计的时候,必须考虑这点

比如说,字体大小在2x屏上是24px,一定要尽量在3x上设计成36px,这样开发不需要做任何判断,字体大小自然会乘以1.5。一个反面的例子,设计图上2x屏是24px,3x屏是28px,这通常就是一个错误的设计。开发只能根据屏幕类型,设置UIFont的大小,而且28还无法被3整除

再比如说,设计一个元素距离左边距在2x屏上是10px,那么在3x屏上就设计成15px,开发也不需要做任何改动

兼容WEB页面

还有一种情况,某些页面需要在APP上实现,同时也要在web页面上实现。我们一开始错误的做法,是要求web页面去“精确”地实现APP的设计图。实际上这是不可能的,因为2点:

1、WEB页面使用的CSS布局方法,跟iOS界面开发的思路有很大差异,在实现上会有问题

2、WEB页面要面对的手机屏幕尺寸更多,无论是设计还是开发,要精确地匹配N种屏幕,根本不可能

所以,正确的做法,是针对WEB页面再出一张设计图,其中的尺寸用百分比决定:


如上图,在APP设计图里可以精确确定每个单元格的宽度,而在WEB里,应该指定每个单元格占屏幕宽度的50%。甚至,在WEB上应该用响应式布局来处理尺寸差异巨大的屏幕,不过这是另一个话题,不延伸了

UIFont到底有多大

这个是我们试错试出来的,其实非常简单,设置

[UIFont systemFontOfSize:16]

这个字体在2x屏上就是32px,在3x屏上会自然变成48px,非常方便

同理,设置一个UIView的frame为

CGRectMake(0, 0, 100, 100);

在2x屏上是200px * 200px的矩形,在3x屏上是300px * 300px的矩形

### 如何在Windows电脑上连接和管理iOS设备 #### 安装并配置iTunes 为了能够管理和调试iOS设备,首先需要安装最新版本的iTunes软件[^1]。一旦完成安装,通过USB线缆将iOS设备连接至Windows计算机。首次连接时,iOS设备会弹出“信任此电脑”的对话框,点击确认以建立信任关系。 #### 获取设备UDID用于开发环境准备 对于希望从事应用程序开发工作的用户来说,获取所使用的iOS测试设备唯一标识符(UDID)是必要的步骤之一。可以通过两种方式来获得该信息:一是借助已安装好的iTunes程序由系统自动识别;二是利用移动终端扫描二维码的方式手动输入取得[^3]。 #### 应用程序镜像与远程控制 如果仅仅是想要查看或操作iPhone屏幕内容,则可以考虑采用专门设计的应用如iReaShare Screen Mirror来进行无线投屏以及触控模拟等功能[^2]。这类解决方案使得即使不具备编程背景的人也能方便快捷地实现跨平台互动体验。 #### 开发者模式下的真机调试流程 针对有更高需求的技术人员而言,例如要执行HBuilderX中的项目编译成果向实际硬件部署的任务,那么除了上述提到的基础设置外还需要额外几步处理: - 下载并打开爱思助手工具; - 将目标iOS装置接入PC端口直至检测成功; - 寻找界面上方菜单栏里的“工具箱”,从中选取IPA签名选项卡; - 把经过适配调整过的描述文件加载进来赋予待测APK权限属性; - 更改扩展名为`.ipa`之后迁移至指定路径下(比如D:\hbuilder\HBuilderX\plugins\launcher\base),以便后调用; - 对于初次尝试启动新安装包的情况,请参照官方指导前往相应位置开启受信状态开关; - 若遇到安全机制阻止应用更新的情形,记得检查现有认证是否仍然有效,并按照实际情况采取订措施[^4]。 ```bash # 假设这是命令行中可能涉及的操作示例 adb devices # 列举当前连接的所有安卓/苹果物理机列表 (注意这里仅作示意用途) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值