Как я могу исправить вращение симулятора iOS? - PullRequest
0 голосов
/ 02 ноября 2011

В моем приложении я установил раскадровку, чтобы разрешить только горизонтальные и инвертированные горизонтальные повороты.У меня есть одна сцена контроллера представления с единственным подклассом UIView в нем.Все работало нормально, пока я не удалил сцену в редакторе IB и не попытался ее переделать.Я вообще не изменил код, но теперь, когда я запускаю свое приложение в симуляторе iOS, я вижу это:

enter image description here

Тогда как раньше я видел горизонтальный экран iPad сстрока состояния вверху и моя сетка заполняют экран.

self.frame.size.width дает мне 1024, а self.frame.size.height возвращает 748 в awakeFromNib, поэтому мое мнение считает, что оно имеет правильный размер и ориентацию.

Думая, что я допустил ошибку, я полностью удалил раскадровку и сделал совершенно новую, опять же с одной сценой контроллера представления, содержащей один экземпляр моего подкласса UIView.То же самое происходит: странный боком iPad.

Итак, что я сделал не так?

РЕДАКТИРОВАТЬ: немного больше тестирования показывает, что само представление также вращается.Другими словами, верхний левый источник (0, 0) фактически находится в левом нижнем углу этой картинки выше.

Спасибо!

Тим

Ответы [ 3 ]

2 голосов
/ 27 января 2012

Попробуйте установить автоповорот экрана на:

- (BOOL)shouldAutorotateToInterfaceOrientation:
  (UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait) || 
    (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}

Вы можете удалить это позже, если это необходимо. Пример, похожий на ваш, случился со мной. Я не изменил код, а Storyboard решил изменить ориентацию моего приложения. Простое ограничение интерфейса в коде исправило его в раскадровке. Как я уже сказал, после исправления вы можете удалить код, если он вам не нужен. Удачи!

1 голос
/ 22 декабря 2011

Похоже, что вы можете просто повернуть свое устройство в симуляторе.После того, как вы нажали кнопку run, если вы переходите на Hardware > Rotate Left, она должна зафиксировать вашу начальную ориентацию, а затем она запустится в правильной ориентации при следующем запуске.

0 голосов
/ 02 ноября 2011

Вы установили новую созданную раскадровку в качестве "Начального раскадровки" в своем проекте?

...