iPhone UINavigationController: анимировать только часть представления - PullRequest
0 голосов
/ 05 февраля 2011

У меня есть UINavigationController, который содержит (сверху вниз) UINavigationBar, UIImageView и UITableView. Каждое представление, которое я вставлю в стек, содержит один и тот же UIImageView в одном и том же месте (это логотип).

Мне бы хотелось, чтобы логотип оставался чуть ниже UINavigationBar, без анимации, когда я нажимаю / выдвигаю представления. Возможно ли это?

Спасибо

1 Ответ

0 голосов
/ 06 февраля 2011

Единственный способ добиться этого - добавить изображение с изображением логотипа непосредственно в главное окно вашего делегата приложения. Расположите его так, чтобы он отображался непосредственно под панелью навигации. Затем вам нужно будет установить цвет фона представления вашего контроллера представления, чтобы очистить его и убедиться, что для свойства opaque установлено значение NO. Увеличьте размер своего представления и установите маску авторазмера, чтобы она была привязана к нижней части экрана (или к верхней части панели вкладок или нижней панели инструментов).

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

Надеюсь, что это имеет смысл.

ОБНОВЛЕНИЕ: Согласно комментарию Ноа Уизерспуна, лучшим подходом, вероятно, было бы просто добавить вид изображения вашего логотипа в качестве подпредставления вида контроллера навигации. Вам все равно придется изменять размеры представлений контроллеров представления, чтобы их содержимое не было скрыто представлением изображения логотипа, но этот подход в целом намного чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...