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 相机无法填满屏幕的主要内容,如果未能解决你的问题,请参考以下文章

iPhone x屏幕分辨率是多少

如何在iphone中录制屏幕[关闭]

iPhone 截图

展开 xib 布局以填满屏幕

相机预览不填满屏幕

如何在锁定屏幕上显示与左下角的相机相同的 iphone 应用程序图标