SpriteKit how to get correct screen size

后端 未结 2 1805
猫巷女王i
猫巷女王i 2021-01-05 02:04

I\'ve tried

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

None of them work.

How do I get the correct sc

相关标签:
2条回答
  • 2021-01-05 02:32

    You can use:

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

    And if you need to get the ratio so you can detect what device they are using, you can use the following for portrait mode or switch it for landscape mode.

    let maxAspectRatio: CGFloat = deviceHeight / deviceWidth
    

    You can then check what ratio the device is to determine 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.")
    }
    

    If you want to get the correct view that the player can see, as in the bounding frame of the device's size, you can use the following guide.

    0 讨论(0)
  • 2021-01-05 02:48

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

    let displaySize: CGRect = UIScreen.mainScreen().bounds
    let displayWidth = displaySize.width
    let displayHeight = displaySize.height
    
    0 讨论(0)
提交回复
热议问题