SpriteKit how to get the right screen size

I tried

self.frame.size
self.view!.frame.size
UIScreen.mainScreen().bounds.size

None of them work.

How to get the correct screen size for a device?

+4
source share
2 answers

You can use the following quick code to get the screen size.

let displaySize: CGRect = UIScreen.mainScreen().bounds
let displayWidth = displaySize.width
let displayHeight = displaySize.height
+5
source

You can use:

let deviceWidth = UIScreen.mainScreen().bounds.width
let deviceHeight = UIScreen.mainScreen().bounds.height

And if you need to get a coefficient so that you can determine which device they are using, you can use the following for portrait mode or switch it in landscape mode.

let maxAspectRatio: CGFloat = deviceHeight / deviceWidth

You can then check what relation the device is designed to identify certain things.

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.")
}

, , , guide.

+2

Source: https://habr.com/ru/post/1620682/


All Articles