У меня есть приложение uitabbar, и я хочу повернуть только один ViewController с диаграммой в ландшафтном режиме. Это возможно сделать?
Поверните один UIViewController в приложении UITabBar
Ответы (2)
Не существует простого способа иметь только один вид в ландшафтном режиме, в то время как остальные находятся в ландшафтном режиме, а также простого способа программного переключения в ландшафтный режим.
Одним из возможных подходов может быть использование 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];
}
Надеюсь, что это работает для вас.
person
sergio
schedule
23.05.2011
Только если он модальный, если он является частью tabBarController, вам нужно поддерживать изменение ориентации для всех ваших контроллеров.
person
Pier-Olivier Thibault
schedule
23.05.2011