2012-01-05 2 views
1

Я рисую вид на iPad, который поддерживает только ориентацию ландшафта, однако иногда в iOS-симуляторе вид отображается вверх дном, а панель состояния iPad в портретном режиме. Когда я вращаю устройство в симуляторе, все ведет себя нормально, это просто первоначальная нагрузка, которая является странной. Я настраиваю свое представление с помощью CGRect и использую стандартную систему координат iOS.Вид, изображающий вверх дном в iOS-симуляторе, ориентация строки состояния не обнаружена должным образом

Мой метод авторотации:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) | (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); 
} 

ответ

1

Было ли это опечатка в вашем фрагменте кода; использовать «||», а не «|», так:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); 
} 
+2

Или еще лучше использовать 'вернуть UIInterfaceOrientationIsLandscape (interfaceOrientation);' – Sam

+0

Я исправил побитовое ИЛИ опечатка, и я не столкнулись с этой проблемой, когда я проверяю на устройстве, но это все еще происходит в симуляторе. –

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