setStatusBarOrientation: как изменить ориентацию устройства - PullRequest
3 голосов
/ 03 января 2011

Я использую следующий код для изменения моего портретного вида на альбомный, и он отлично работает.

Но что мне нужно знать, это после изменения вида на ландшафтный, когда я печатаю текущую ориентациюустройство дает мне режим «Портрет».

Может ли этот код изменить ориентацию устройства?если так, то почему он показывает «портретный» режим, когда я проверяю текущую ориентацию?

Так как я могу изменить ориентацию устройства задокументированным способом?

Пожалуйста, помогите мне ...

Пожалуйста, посмотрите мой код ниже

[[UIApplication sharedApplication] setStatusBarOrientation:
UIInterfaceOrientationLandscapeRight];

UIScreen *screen = [UIScreen mainScreen];
CGFloat screenWidth = screen.bounds.size.width;
CGFloat screenHeight = screen.bounds.size.height;
UIView *navView = [[self navigationController] view];
navView.bounds = CGRectMake(0, 0, screenHeight, screenWidth);
navView.transform = CGAffineTransformIdentity;
navView.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
navView.center = CGPointMake(screenWidth/2.0, screenHeight/2.0);
[UIView commitAnimations];

1 Ответ

0 голосов
/ 03 января 2011

Потому что ориентация устройства не изменилась!Вы просто вручную устанавливаете ориентацию statusBar и применяете преобразование к вашему представлению !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...