UINavigationBar исчезает до нажатия анимации вида и появляется после него.В чем дело? - PullRequest
0 голосов
/ 21 января 2012

У меня есть три вида и панель навигации с моим фоновым изображением. Когда я нажимаю второй вид, все идет как надо: панель навигации остается на своем месте с фоновым изображением, только заголовок и кнопки смахивают влево и заменяются кнопкой «назад» и новым заголовком для второго вида. Но когда я нажимаю третий вид, переход происходит следующим образом: непосредственно перед анимацией панель навигации полностью исчезает, оставляя цвет фона окна приложения на своем месте, а затем новая панель навигации смахивает вправо со всеми элементами пользовательского интерфейса. и то же самое происходит, когда я выскакиваю третий вид (нажмите кнопку "назад"). Есть идеи, почему это происходит? Раньше это было нормально, но в какой-то момент я заметил, что это начинает работать так.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Просто из любопытства, есть ли у вас UISearchBar в представлении, которое вы помещаете в стек?У меня возникла та же проблема, что вы описали, оказалось, что она была вызвана UISearchBar и UISearchDisplayController.

При создании UISearchBar и UISearchDisplayController я звонил

self.searchBar = [[[UISearchBar alloc] init] autorelease];//init the UISearchBarView

then somewhere further along in the code I was calling

[self.searchDisplayController setActive:YES animated:NO];
[self.searchDisplayController setActive:NO animated:NO];

Два вышеупомянутых вызова «[setActive: animated:]» правильно расположили бы UISearchBar по неизвестной причине.Я видел это решение во многих местах в сети.Но побочным эффектом может быть то, что панель навигации становится белой при нажатии на новое представление с панелью поиска.

Чтобы исправить все, я вместо этого инициализировал UISearchBar, вызвав:

self.searchBar = [[[UISearchBar alloc] initWithFrame:frame] autorelease];

, а затемЯ удалил два вызова «[setActive: animated:]»

Это изменение привело к правильно расположенной строке поиска без исчезающей панели навигации.

Надеюсь, кто-нибудь найдет этот пост полезным!

0 голосов
/ 21 января 2012

Вы не помещаете UINavigationController поверх вашего основного навигационного контроллера?

...