Три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