如果方向是纵向,iOS SpriteKit暂停游戏

时间:2014-01-25 02:05:44

标签: ios iphone objective-c

我在appdelegate上向view.paused = YES;添加了applicationWillResignActive

但是当方向是肖像时,如何调用此暂停?我希望在点击按钮时暂停我的游戏,并且方向是纵向和按钮触摸恢复。

还将view.paused = NO;添加到我的applicationDidBecomeActive

1 个答案:

答案 0 :(得分:1)

- (void)viewDidLayout {
    [super viewDidLayout];
    if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
        view.paused = YES;    
    }
}

viewDidLayout是一种在视图必须布局其所有子视图时调用的方法。这种情况发生在视图的初始加载以及方向更改的任何时间。它也可以在其他实例中调用(我不完全确定这些是什么),就像将视图设置为需要布局一样。

UIDeviceOrientationIsPortrait()是一个宏,根据方向是否为纵向返回YESNO。有一个名为UIDeviceOrientationIsLandscape()的类似宏。