Ack! У меня были проблемы с вращением на вкладке, которые были разрешены, наконец, в iOS 5, но iOS 6 и xcode, похоже, сломали вещи... вот что я имею:
Целевая информация о приложении включает в себя: Поддерживаемые интерфейсные ориентации - Портреты, Пейзаж слева, Пейзаж справа
Каждый Single View в приложении имеет следующие методы:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return ((interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown) &&
(interfaceOrientation != UIInterfaceOrientationLandscapeLeft) &&
(interfaceOrientation != UIInterfaceOrientationLandscapeRight));
} else {
return YES;
}
}
- (BOOL)shouldAutorotate
{
NSLog(@"am I called1?");
return NO;
}
-(NSUInteger)supportedInterfaceOrientations{
NSLog(@"am I called?");
return UIInterfaceOrientationMaskPortrait;
}
В представлениях, которые не являются частью панели вкладок, вращение блокируется. Во ВСЕХ представлениях на вкладке (есть 5) приложение никогда не вызывает ShouldAutorotate и поэтому вращается. Кажется, он поддерживается .InterfaceOrientations вызывается один раз при загрузке представления, но не тогда, когда он появляется, если я переключаюсь между представлениями, потому что я получаю NSLog, но, похоже, игнорирует параметр MaskPortrait.
Мне нужно оставить пейзаж включенным в цель, потому что у меня есть один просмотр видеоплеера, который нужно вращать (и он делает это, отлично)
Является ли это ошибкой на вкладке в iOS 6? Нужно ли мне отключать вращение просмотров по-разному? В авторизованном интерфейсе ориентация работала отлично в ios 5
Я был на нем какое-то время
Спасибо, Zack