2011-01-03 4 views
3

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

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

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

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

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

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

[[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]; 

ответ

0

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

+0

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

+0

Короткий ответ: путем поворота устройства, вот и все ;-) – VdesmedT

Смежные вопросы