SpriteKit如何获得正确的屏幕尺寸

zbz*_*vlv 5 size screen ios sprite-kit

我试过了

self.frame.size
self.view!.frame.size
UIScreen.mainScreen().bounds.size
Run Code Online (Sandbox Code Playgroud)

他们都没有工作.

如何获得设备的正确屏幕尺寸?

Abh*_*hek 7

您可以使用以下swift代码来获取屏幕大小.

let displaySize: CGRect = UIScreen.mainScreen().bounds
let displayWidth = displaySize.width
let displayHeight = displaySize.height
Run Code Online (Sandbox Code Playgroud)

  • 在Swift 4中,它是`let displaySize:CGRect UIScreen.main.bounds` (5认同)

Jos*_*rez 5

您可以使用:

let deviceWidth = UIScreen.mainScreen().bounds.width
let deviceHeight = UIScreen.mainScreen().bounds.height
Run Code Online (Sandbox Code Playgroud)

如果您需要获取比率以便检测他们使用的设备,您可以使用以下用于纵向模式或将其切换为横向模式。

let maxAspectRatio: CGFloat = deviceHeight / deviceWidth
Run Code Online (Sandbox Code Playgroud)

然后,您可以检查设备的比率以确定某些事情。

if maxAspectRatio == (4 / 3) {
    //The ratio of an iphone 4S is 4:3
    print("The user is using an iPhone 4S or iPod 4th Generation.")
} else if maxAspectRatio >= 1.7 && maxAspectRatio <= 1.8 {
    //The ratio of these devices is 16:9
    print("The user is using an iPhone 5, 5S, 5C, 6, 6S, 6 Plus, 6S Plus, or iPod 5th Generation.)
} else {
    print("The user is using an iPad, iPad Mini, iPad Air, iPad Retina, or iPad Pro.")
}
Run Code Online (Sandbox Code Playgroud)

如果您想获得玩家可以看到的正确视图,如设备尺寸的边界框,您可以使用以下指南

  • 链接失效!=[ (4认同)