网站服务器在哪里买好,企业管理信息系统模式,《电子商务网站开发》实验报告,广州市用工备案在哪个网站做背景
有用户反馈#xff0c;在iPhone SE 2代 存在遮挡UI界面问题#xff0c;经过分析#xff0c;发现用户开启了放大模式#xff08;Display Zoom - Larger Font#xff09;导致实际显示时屏幕大小与正常模式不同#xff0c;所以导致部分UI遮挡。
各手机屏幕在正常…背景
有用户反馈在iPhone SE 2代 存在遮挡UI界面问题经过分析发现用户开启了放大模式Display Zoom - Larger Font导致实际显示时屏幕大小与正常模式不同所以导致部分UI遮挡。
各手机屏幕在正常模式和放大模式对比参考
手机型号正常模式 sizeLarger Font Size备注iPhone SE2,iPhone 6, 6s, 7 和 8375×667320×568等同于 SE 1/iPhone 5(s)代屏幕大小iPhone X and XS等375×812320×693iPhone 11 Pro等414×896375×812等同于iPhone XiPhone 12 mini等360×780320×693
也可参考How iOS Apps Adapt to the various iPhone 12 Screen Sizes
解决方案
可以通过滑动或者选择兼容屏幕来避免 UI 遮挡。
页面支持滑动
对于常规页面都建议支持滑动除非页面内容非常少。
常见的滑动方式
直接使用 UITableView 作为基础页面底层 View.根据内容定义各种 Cell。使用 ScrollView View 来支持滑动。
选择对应最小屏幕兼容
根据应用正常模式要兼容的最小屏幕来考虑 Larger Font 的最新屏幕。比如正常最小支持屏幕为 iPhone SE2代如果想要完美兼容放大模式应该适配 iPhone SE 1代 屏幕大小。
综上建议非特殊页面都支持页面滑动否则应用考虑是否兼容 iPhone SE 1代。
UIScreem相关数据
幸运的是可以通过UIScreen.main.bounds获取实际的屏幕大小即实际显示大小已经基本满足日常开发和布局。
也可以通过以下代码段判断是否开启了放大模式stackoverflow参考。 (BOOL)isZoom {return UIScreen.mainScreen.scale UIScreen.mainScreen.nativeScale;
}正常数据
// 正常模式
(lldb) po main.bounds
(origin (x 0, y 0), size (width 414, height 896))(lldb) po main.nativeBounds
(origin (x 0, y 0), size (width 828, height 1792))(lldb) po main.nativeScale
2
(lldb) po main.scale
2// 缩放版本 display zoom Larger Font
(lldb) po main.scale
2
(lldb) po main.nativeScale
2.2080000000000002(lldb) po main.bounds
(origin (x 0, y 0), size (width 375, height 812))(lldb) po main.nativeBounds
(origin (x 0, y 0), size (width 828, height 1792))(lldb)