【发布时间】:2020-02-12 23:35:23
【问题描述】:
在通过 hdmi 线连接到电视或显示器的真实设备中测试我的应用程序时,连接屏幕中显示的内容不会全屏显示。
我已经在 iOS 模拟器中使用模拟的连接屏幕测试了我的应用,一切正常。
我已经在不同类型的屏幕上测试了我的应用,并且在使用真实设备时,连接屏幕中的内容从未全屏显示。
我还测试了this example 具有相同的结果。
这是代码的一部分:
if UIScreen.screens.count > 1 {
let secondScreen = UIScreen.screens[1]
secondWindow = UIWindow(frame: secondScreen.bounds)
secondWindow.rootViewController = UIViewController()
secondWindow.screen = secondScreen
let secondScreenView = UIView(frame: secondWindow.frame)
secondWindow.addSubview(secondScreenView)
secondWindow.isHidden = false
secondScreenView.backgroundColor = .purple
let imageView = UIImageView(frame: secondScreenView.bounds)
imageView.image = UIImage(data: recursoTipoRecurso.recurso.contenido as Data)
imageView.contentMode = .scaleToFill
secondScreenView.addSubview(imageView)
}
如上图所示,显示器屏幕边框和我设置的内容之间有一个空间。
我做错了什么?
【问题讨论】:
-
我猜这是你的显示器的问题,而不是代码...
-
我已经在不同的显示器和电视上尝试过我的应用程序,但我都遇到了同样的问题。 Keynote 应用实际上以全屏模式显示内容。
-
因此您可以尝试使用 superView 的约束而不是安全区域的约束来固定视图的约束。
-
@KazMiller - 您在 viewdidload 或其他地方调用此代码的位置
-
这是因为不同设备的屏幕比例不同,会相应改变。您可以更改图像的竞争模式以覆盖全屏,但它会使图像拉伸