iOS 6 - Как запустить пользовательский код при изменении ориентации

Я создаю игру, которая позволяет устройству находиться в горизонтальной или горизонтальной ориентации, и игрок может менять ориентацию, пока оно находится в режиме паузы. Когда они это сделают, мне нужно изменить способ, которым игра интерпретирует акселерометр в зависимости от ориентации.

В iOS 5 я использовал willRotateToInterfaceOrientation, чтобы перехватывать изменения и изменять мои переменные, но это не рекомендуется в iOS6. Мой существующий код выглядит так:

    if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)      
        rect = screenRect;

    else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight){
        rect.size = CGSizeMake( screenRect.size.height, screenRect.size.width );
    GameEngine *engine = [GameEngine sharedEngine];
    if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft){
        engine.orientation = -1;
    } else {
        engine.orientation = 1;
    }
}

Я понимаю, что замена - это метод viewWillLayoutSubviews в классе UIViewController. Я собираю эту игру в cocos2d 2.1, и в демонстрационном проекте, по-видимому, нет класса UIViewController, поэтому я не совсем понимаю, как включить его и как должен выглядеть код, чтобы это работало.

Ответы на вопрос(1)

Ваш ответ на вопрос