2011-10-23 6 views
0

Я пытаюсь приостановить свое приложение, когда пользователь нажимает кнопку «Домой».Приостановка игры iPhone из приложенияWillResignActive

Вот как я приостановить игру в GameViewController:

- (void)pauseGame 

{ 
    if (!gamePaused) { 

    [gameTimer invalidate]; 

    [self pauseLayer:self.view.layer]; 

    gamePaused = TRUE; 

    } 
} 

AppDelegate.h

#import <UIKit/UIKit.h> 

#import "GameViewController" 

@class GameViewController; 



@interface AppDelegate : UIResponder <UIApplicationDelegate> {  

    GameViewController *game; 

} 

@property (strong, nonatomic) UIWindow *window; 

AppDelegate.m

@interface AppDelegate() 

@property (readonly) GameViewController *game; 

@end 


@implementation AppDelegate 

@synthesize window = _window; 



-(GameViewController *)game 

{ 

    if (!game) { 

     game = [[GameViewController alloc] init]; 

    } 

    return game; 

} 


- (void)applicationWillResignActive:(UIApplication *)application 

{ 

    [self.game pauseGame]; 

} 

Это не дает мне никаких ошибок или предупреждения, но это не сработает. Что я делаю не так?

Заранее спасибо!

+0

Когда вы нажимаете кнопку «Домой», вы идете в 'applicationWillResignActive:' (т. Е. Устанавливаете там точку останова), и если да, можете ли вы пройти через свой метод pauseGame? –

+0

он знает, что он входит в applicationWillResignActive, поэтому он должен быть чем-то с вызовом pauseGame ... – user975134

ответ

-1

Я считаю, что событие, которое вы хотите использовать для кнопки дома, называется чем-то вроде applicationDidEnterBackground. Попробуйте также поставить свой код. Событие, которое вы используете, полезно также потому, что оно вызывается, если приходит телефонный звонок или устройство блокируется.

+0

K, я добавил [self.game pauseGame]; к applicationDidEnterBackground, но все тот же результат ... – user975134

Смежные вопросы