在 Swift 中使用方面 Fit 时将背景设置为覆盖整个屏幕

Setting background to cover whole screen when using aspect Fit in Swift

当在 swift 中使用 aspect fit 时,屏幕的两侧会被移除。有没有办法通过使用背景颜色填充整个屏幕或使用背景图像来掩盖这一点?

这是在 GameViewController

中创建场景的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
        }

场景适合纵横比且背景设置为清除

具有方面填充的场景

场景适合纵横比且背景设置为绿色


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

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

之后,设置scene.scaleMode = .aspectFill

如果这不起作用,您可以尝试通过这样做来设置背景颜色,但我不知道此选项是否会为您提供您正在寻找的东西,因为我没有测试它.

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

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