Контроллер табуляции с ориентацией навигационных контроллеров ios 6
В настоящее время я работаю над проектом, в котором у нас есть контроллер панели вкладок с 4 вкладками, и где у каждой вкладки есть контроллер навигации. На каждом из этих навигационных контроллеров есть несколько заданных контроллеров представления.
Я прочитал много постов здесь и в других местах, и в настоящее время мы сделали следующее:
Подклассный UITabbarcontroller
- (BOOL)shouldAutorotate
{
return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController] shouldAutorotate];
}
- (NSUInteger) supportedInterfaceOrientations
{
return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController]supportedInterfaceOrientations];
}
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController] shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
}
Это прекрасно работает, если мы в каждом из наших viewcontrollers указываем следующее:
- (NSUInteger) supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
}
Это заблокирует его в Портрет, как и ожидалось.
Но сейчас возникает настоящая проблема! Если мы в нашем viewcontroller на одной из вкладок указываем, что он должен вращаться для альбомной ориентации, он работает нормально, но когда мы затем меняем вкладку, он все еще находится в альбомной ориентации, а это не то, что нам нужно!
Итак, подведем итог: есть ли у кого-нибудь решение о том, как вы можете заблокировать почти все виды для заданной ориентации, и можете ли изменить вкладки там, где они находятся в указанной вами ориентации (здесь портрет)?
Я тоже читал этот постiOS 6 UITabBarController поддерживает ориентацию с текущим UINavigation контроллером, но в качестве одного комментария также упоминаетсяЭто почти работает для меня. Проблема заключается в том, что если я уже нахожусь в альбомной ориентации, когда я переключаю вкладки в портретный вид, он все еще в альбомной ориентации. Вращающийся портрет исправляет это, и это победило 'повернуть обратно в ландшафт, но мне все еще нужно, чтобы он был в портретном режиме при первой загрузке " что почти то же самое здесь ..