iPhone X 相机无法填满屏幕
Posted
技术标签:
【中文标题】iPhone X 相机无法填满屏幕【英文标题】:iPhone X camera not filling screen 【发布时间】:2018-06-15 01:29:07 【问题描述】:我在我的应用程序中实现了一个 QR 扫描仪,并且布局在除 iPhone X 之外的所有设备上都运行良好。在 iPhone X 上,导航栏和相机视图之间有一个大的白条(没有白条在任何其他设备上)。我不确定是什么原因造成的。如何让相机视图占据全屏?
这是我如何实现相机视图的大小:
video.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
view.layer.addSublayer(video)
这里还有一张白条的截图(屏幕是黑色的,因为相机平放在桌子上):
【问题讨论】:
你能附上一张白条的图片吗?它在屏幕上的什么位置? @paper1111 我已经添加了它的截图 【参考方案1】:你得到一个白条的主要原因是纵横比:
相机:很可能是 16 : 9(例如 1920 到 1080) iPhone X:屏幕分辨率为 812 x 375(逻辑)或 1125 x 2436(物理),相当于 16 : 7.4因此,当您创建与屏幕尺寸完全匹配的视图并将相机视图添加到其中时,顶部和底部都会有一个未被相机视图覆盖的栏。
底部栏不可见,因为您的视图似乎从导航栏下方开始,即它延伸到屏幕底部下方。
其他 iPhone 不受此影响,因为它们的屏幕尺寸为 16 : 9,例如1334 x 750。如果您有 iPad 版本,它也应该受到问题的影响,并在左右显示条。
修复它:
将视图置于导航栏下方,使其覆盖顶部导航栏的大部分内容 更改背景颜色以获得更合适的颜色 扩展视图的宽度以实现 16 : 9 的纵横比并使视图居中【讨论】:
以上是关于iPhone X 相机无法填满屏幕的主要内容,如果未能解决你的问题,请参考以下文章