У меня есть subclassed UINavigationBar, поэтому я могу создать градиент, чтобы заполнить его. Моя проблема заключается в том, что когда я представляю контроллер навигации, пока он анимируется снизу вверх, цвет элементов кнопки на панели навигации по-прежнему остается синим (по умолчанию), и он изменяется только в том случае, если он заканчивает анимацию (когда контроллер навигации достигает вершины). Я привязался к фотографиям, чтобы помочь вам понять, в чем моя проблема.Странное поведение пользовательского UINavigationBar
1
A
ответ
-1
Вы кладете изменение цветового кода в анимированный метод только так и вместе все хорошо попробовать это.
[UIView beginAnimations:nil context:nil];
[self.navigationController.navigationBar.tintcolor:[uicolor red color]];
[self.navigationController.navigationbaritem same code here only
[UIView commitAnimations];
+0
Я изменяю цвета в drawRect, в подклассе UINavigationBar. Это единственный способ добавить к нему градиент. – Cosmin
+0
все ваши изменения в навигационной панели должны быть только в режиме анимации. Я думаю, что изменение цвета вашей кнопки бара вне метода анимации – vishiphone
где вы меняете цвета? поместите свой код – meronix
Я думаю, что метод изменения цвета кнопки используется вне анимации. – vishiphone
У меня такая же проблема. Вы когда-нибудь находили решение? – arnorhs