【iOS】bounds与native bounds的故事(放大模式的纠结)1.31更新一些表述

本文介绍了在iOS开发中遇到的关于bounds与native bounds的问题,特别是在iPhone放大模式下的表现。文章详细阐述了bounds在不同适配情况下的逻辑分辨率,以及放大模式如何影响bounds和native bounds的值。最终,通过比较bounds和native bounds来识别放大模式,并提出解决方案。
摘要由CSDN通过智能技术生成

因为实习原因接触iOS开发,做了一周多点的时间,遇到了一个棘手的需求,也因此了解到了关于iPhone系列适配以及放大模式的有趣规律,涉及到了bounds与native bounds。

“特殊”的需求

    当iPhone XS MAX/XR用户使用只适配了iPhone X/iPhone XS,并且隐藏了状态栏的app,同时没有启动放大模式且为竖屏时,进行UI处理。
    注:应用的适配是我无法决定的,处理的是一个独立于应用的悬浮窗的UI。只考虑竖屏。

这样表述的需求其实有点绕,解释一下:
1.当iPhone XS MAX/XR用户在放大模式运行应用,我们的UI不会出任何问题;
2.当用户在标准模式运行应用,应用设置隐藏状态栏,UI没有问题;
3.当用户在标准模式运行了只做了X/XS适配的(一般来说就是没有配launch image)应用,会出现UI被MAX“刘海”遮挡问题(其他情况下iPhone都能把UI往下推44单位)。
总结下来,状态栏比较好确定,机型判断也不是问题,所以需求的核心是这样的:
识别出应用只做了X/XS适配并且用户没有开启放大模式的情况。

  1. 识别出应用只做了X/XS适配 。这里的思路是读取[UIScreen mainScreen] bounds].size(以下简称bounds)的值。
  2. 用户有没有开启放大模式。当用户开启了放大模式,iPhone也会帮助我们完成UI调整,主要问题在于bounds在只做了低版本适配时的标准与放大模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值