Когда пользователь меняет ориентацию устройства, как повернуть только панель навигации, а не вид?

Итак, в основном у меня есть ViewController с панелью навигации вверху.

Скажем, для примера мой вид ViewController'а - это картинка из числа 8. Что я могу сделать, чтобы при вращении устройства навигационная панель тоже вращалась и оставалась наверху, но 8 точно такая же, как раньше, что теперь выглядит как символ бесконечности? (так как аппарат перевернулся а картинки нет, то 8 сейчас "ложится").

Спасибо

отредактировано: хорошо, понял.

пришлось реализовать willRotateToInterfaceOrientation, чтобы повернуть вид на 90 градусов до изменения ориентации, также пришлось настроить границы вида


person Luiz Gustavo Faria    schedule 18.02.2012    source источник
comment
Можете ли вы не позволять виду вращаться нормально, но вращать изображение в противоположном направлении?   -  person null0pointer    schedule 18.02.2012


Ответы (2)


Вы пробовали это сделать?

RootViewController: где вы разместили свой навигационный контроллер. Разрешить здесь поворачивать устройство (должно автоматически поворачиваться в направлении интерфейса — ДА)

Но в childViewController: где вы не хотите разрешать менять ориентацию. Там также реализуем тот же метод, возвращаем NO.

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

person Mrunal    schedule 18.02.2012
comment
я не выделяю свою панель навигации программно, я просто перетащил ее из раскадровки.. - person Luiz Gustavo Faria; 18.02.2012

Вы можете начать с просмотра UIViewControllers willRotateToInterfaceOrientation:duration:

Отсюда вы можете вызывать действия до того, как контроллер представления повернется, например, по-разному настроить рамку просмотра.

person Audun Kjelstrup    schedule 18.02.2012