2016-06-10 2 views
0

я видел следующий код, который позволяет кому-то, чтобы получить ориентацию экрана устройства:Как найти вид контроллера экрана

if(UIInterfaceOrientationIsPortrait(viewController.interfaceOrientation)) { 
    //do portrait work 
} else if(UIInterfaceOrientationIsLandscape(viewController.interfaceOrientation)){ 
    //do landscape work 
} 

Проблема в том, что я не уверен, что заменить на «ViewController» код заполнителя. Стоит отметить, что я делаю приложение для клавиатуры, поэтому я не уверен, могу ли я использовать те же контроллеры представлений, которые могут работать для других обстоятельств. Какой контроллер я могу использовать для указания ориентации экрана?

+0

Вы используете NavigationController? – AntonTheDev

+0

Я использую KeyboardViewController – Roymunson

+0

Возможно, вы можете просто сделать self.interfaceOrientation там, поскольку UIInputViewController расширяет UIViewContoller. Но я просто смотрю на свой телефон, может быть, ошибаюсь – AntonTheDev

ответ

0

Вы можете сделать это двумя способами.

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 
if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) { 
    //portrait  
} 

if (orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationLandscapeLeft) { 
    //landscape  
} 


или

if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) { 
    //landscape  
} else { 
    //portrait 
}