Подвид UIView не меняет ориентацию - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть контроллер вида, который управляет видом.

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

Я запускаю альбомный режим на iPad.

Вид, видимо, не знает, что это в ландшафтном режиме. Его рамка запутана.

Есть ли что-то, что я могу / должен сделать, чтобы сказать, что это в ландшафте и / или что ориентация изменилась. Как это обычно происходит. Почему этого не происходит?

Раньше у меня был контроллер вида в UITabBarController, и там он работал нормально.

Ответы [ 3 ]

0 голосов
/ 15 сентября 2010

Ваш ViewController не получает события поворота, потому что вы не представили viewController, но добавили представление viewController в иерархию представлений.

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

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

0 голосов
/ 16 декабря 2014

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

0 голосов
/ 15 сентября 2010

Override:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES;
}
...