Три20 автоповорота в iOS6

Я пытаюсь получить автоматическую работу в iOS6. Я уже читал об этом, и проблема в том, что я не могу установить контроллер rootview для окна. Я попробовал это с:
self.window.rootViewController = [[TTNavigator navigator] rootViewController];
но приложение вылетает с нераспознанным селектором...
В iOS5 авторотация работала нормально с shouldAutorotateToInterfaceOrientation метод.

3 ответа

Решение

Этот учебник работал для меня: http://www.goodnewtiger.com/llf/cegeek/?p=61
Мне пришлось изменить TTNavigationController и установить viewcontroller в делегате приложения.

Попробуйте следующее:

[[[UIApplication sharedApplication] keyWindow] setRootViewController: [[TTNavigator navigator] rootViewController]];

Авторация изменилась с iOS6. Да, в iOS5 вы использовали shouldAutorotateToInterfaceOrientation, Вам все еще нужно это для поддержки iOS5, но для поддержки iOS6 используйте новый метод ниже.

Я думаю, что это то, что вы после.

#pragma mark - View Orientation
-(NSUInteger)supportedInterfaceOrientations {
// For iOS6

NSUInteger orientation = 0;

orientation |= UIInterfaceOrientationMaskPortrait;
orientation |= UIInterfaceOrientationMaskPortraitUpsideDown;
orientation |= UIInterfaceOrientationMaskLandscapeLeft;
orientation |= UIInterfaceOrientationMaskLandscapeRight;

return orientation;
}

Затем закомментируйте или удалите строки, которые вы не хотите поддерживать. Вы можете вернуть это в одной строке побитовым "ИЛИ" с желаемой ориентацией. Есть два других доступных:

UIInterfaceOrientationMaskAll а также UIInterfaceOrientationMaskAllButUpsideDown

Другие вопросы по тегам