在Swift中使用纵横比设置时将背景设置为覆盖整个屏幕

时间:2018-07-18 21:07:09

标签: swift background

快速使用宽高比调整时,屏幕的侧面将被移除。有没有一种方法可以通过使用背景色填充整个屏幕或使用背景图像来掩盖这一点?

以下是用于在GameViewController中按方面创建场景的代码

if let view = self.view as! SKView? {

            if let scene = SKScene(fileNamed: "mainMenu") {


//                setting scene here to aspect fit

                scene.scaleMode = .aspectFit

//                 Present the scene
                view.presentScene(scene)
            }

            view.ignoresSiblingOrder = true

            view.showsFPS = true
            view.showsNodeCount = true
        }

scene with aspect fit and background set to clear

scene with aspect fill

scene with aspect fit and background set to green

1 个答案:

答案 0 :(得分:0)

确保设置场景的屏幕尺寸。

let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
scene?.size = CGSize(width: screenWidth, height: screenHeight)

之后,设置scene.scaleMode = .aspectFill

如果这行不通,您可以尝试通过此方法设置背景色,但是我不知道此选项是否可以满足您的需要,因为我没有对其进行测试。

scene?.backgroundColor = UIColor.white //color you want

否则,请尝试设置scene?.size = image.size