Ios SpriteKit如何获得正确的屏幕大小

Ios SpriteKit如何获得正确的屏幕大小,ios,sprite-kit,size,screen,Ios,Sprite Kit,Size,Screen,我试过了 self.frame.size self.view!.frame.size UIScreen.mainScreen().bounds.size 它们都不起作用 如何获取设备的正确屏幕大小?您可以使用以下swift代码获取屏幕大小 let displaySize: CGRect = UIScreen.mainScreen().bounds let displayWidth = displaySize.width let displayHeight = displaySize.heigh

我试过了

self.frame.size
self.view!.frame.size
UIScreen.mainScreen().bounds.size
它们都不起作用


如何获取设备的正确屏幕大小?

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

let displaySize: CGRect = UIScreen.mainScreen().bounds
let displayWidth = displaySize.width
let displayHeight = displaySize.height
您可以使用:

let deviceWidth = UIScreen.mainScreen().bounds.width
let deviceHeight = UIScreen.mainScreen().bounds.height
如果您需要获得比率以便检测他们正在使用的设备,您可以将以下选项用于纵向模式或将其切换为横向模式

let maxAspectRatio: CGFloat = deviceHeight / deviceWidth
然后,您可以检查设备的比率,以确定某些事项

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.")
}
如果maxAspectRatio==(4/3){
//iPhone4S的比例是4:3
打印(“用户正在使用iPhone 4S或iPod第四代。”)

}否则,如果maxAspectRatio>=1.7&&maxAspectRatio,您在哪里检查这些属性?你看了吗?是的,在那边@0x0141e
UIScreen.mainScreen().bounds.size
如何获取正确的大小?self.frame和self.view.frame无法获得正确大小的原因是self.frame是场景的大小,通常为600x600,而self.view.frame是应用自动布局之前的视图大小,因此它可能是600x600 alsobroken链接=[在Swift 4中,它是
let displaySize:cgrct UIScreen.main.bounds