Автоповорот iOS 5 не работает

У меня есть приложение панели вкладок, и у меня проблема с вращением. Я использую раскадровку с контроллером панели вкладок в качестве контроллера начального представления, и на ios 6 все работает, и представления вращаются в альбомную и портретную ориентацию, но на ios 5 представления только в портретном режиме, а вращение не работает. Я попытался создать собственный подкласс контроллера панели вкладок и добавил к нему функцию shouldAutoRotateToInterfaceOrientation, а также ко всем контроллерам представления на панели вкладок, но это не помогло. Кто-нибудь знает, что может быть не так?

Изменить: если у вас есть Xcode 4.5.2, вы можете создать новый проект из шаблона приложения панели вкладок и проверить себя, есть ли у вас такая же проблема.


person Bartosz Bialecki    schedule 18.01.2013    source источник
comment
В iOS 5 и iOS 6 автоповорот работает совершенно по-разному. По сути, вы должны кодировать все дважды.   -  person Hot Licks    schedule 18.01.2013
comment
покажи нам свой shouldAutoRotateToInterfaceOrientation   -  person foundry    schedule 18.01.2013
comment
Это моя функция: - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {return YES; }   -  person Bartosz Bialecki    schedule 18.01.2013
comment
Какой код я должен предоставить? Если я создаю чистый новый проект из шаблона приложения панели вкладок и ничего не добавляю, тогда на ios 6 работает, а на ios 5 - нет.   -  person Bartosz Bialecki    schedule 18.01.2013
comment
@HeWas, как мне это сделать? Как я уже писал, когда я добавил функцию shouldAutorotateToInterfaceOrientation во все контроллеры, она не помогла на ios 5, а на ios 6 все еще работает.   -  person Bartosz Bialecki    schedule 18.01.2013


Ответы (2)


Убедитесь, что это находится в КАЖДОМ контроллере представления в вашем приложении.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

Но не беспокойтесь о подклассе контроллера панели вкладок, вам не нужно этого делать.

person foundry    schedule 18.01.2013
comment
Да, он есть в каждом контроллере представления. - person Bartosz Bialecki; 20.01.2013

Я нашел этот пост, и это решение мне подходит: http://iosgems.blogspot.de/2012/11/how-to-get-autorotation-working-for.html

person Bartosz Bialecki    schedule 03.02.2013