Проблема автоповорота UITabBar

Мне интересно, почему проект iPad, основанный на UITabBarController, не будет автоматически поворачиваться, когда я укажу, что некоторые вкладки должны автоматически поворачиваться в ландшафтном режиме, а другие - в ландшафтном и портретном режимах.

я использовал

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

для всех UIViewController и указать, если ландшафт return YES; иначе return NO;

С другой стороны, если UIViewController should rotate in landscape and portrait i've justвозврат YES;` всегда.

Спасибо заранее.


person Scar    schedule 25.01.2012    source источник


Ответы (1)


для всех UIViewController, которые вы загружаете в tabbarcontroller, вы должны вернуть True в

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

Примечание. Контроллер панели вкладок не будет автоматически вращаться, если ВСЕ содержащиеся в нем контроллеры также не будут автоматически поворачиваться.

from Повернуть один UIViewController в приложении UITabBar -->>

Не существует простого способа иметь только один вид в ландшафтном режиме, в то время как остальные находятся в ландшафтном режиме, а также простого способа программного переключения в ландшафтный режим.

Одним из возможных подходов может быть использование CGAffineTransform для преобразования вашего представления в ваше представлениеWillAppear (т. е. непосредственно перед отображением представления):

- (void)viewWillAppear:(BOOL)animated; {
   //-- Adjust the status bar
   [UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
   //-- Rotate the view
   CGAffineTransform toLandscape = CGAffineTransformMakeRotation(degreesToRadian(90));
   toLandscape = CGAffineTransformTranslate(toLandscape, +90.0, +90.0 );
   [self.view setTransform:toLandscape];
}
person Saurabh    schedule 25.01.2012
comment
но я хочу, чтобы UIViewController был только в альбомной ориентации, я не хочу, чтобы он поворачивался к портрету. - person Scar; 25.01.2012
comment
выдает ошибку Неопределенные символы для архитектуры armv7: - person Scar; 25.01.2012
comment
не уверен, почему он дает эту ошибку ... но я думаю, что вы должны опубликовать другой вопрос на SO для этой проблемы - person Saurabh; 25.01.2012