Поверните один UIViewController в приложении UITabBar - PullRequest
0 голосов
/ 23 мая 2011

У меня есть приложение uitabbar, и я хочу повернуть только один ViewController с диаграммой в ландшафтном режиме.Это возможно сделать?

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

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

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

- (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];
}

Надеюсь, это работает для вас.

0 голосов
/ 23 мая 2011

Только если это модально, если это часть tabBarController, вам нужно поддерживать изменение ориентации для всего вашего контроллера

...