self.frame返回不同​​的值

时间:2014-12-28 13:03:51

标签: objective-c swift size frame

我将代码从目标c转换为swift。我使用self.frame来检测帧大小。我在iPhone 6模拟器上进行测试。以下目标c代码将self.frame返回为0,0,375,667。但是,swift代码将self.frame返回为(0.0,0.0,1024.0,768.0)。造成这种差异的原因是什么?

CGFloat yDiv = CGRectGetMaxY(self.frame)/5.0;
NSLog(@"%@", NSStringFromCGRect(self.frame));

目标C代码记录{{0,0},{375,667}}

在Swift中

 var yDiv:CGFloat = CGRectGetMaxY(self.frame)/5.0
 println("\(self.frame)")  

Swift代码打印出来(0.0,0.0,1024.0,768.0)到控制台。

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为我使用的是Xcode附带的iOS“游戏”模板。我不得不改变viewController中的代码来设置正确的边界

let scene:SKScene = GameScene.init(size: skView.bounds.size)

希望这有助于其他人。