1

У меня есть пользовательский UINavigationBar, установленный в UINavigationController. Я бы хотел, чтобы NavigationBar не анимировался, когда новые диспетчеры просмотра были нажаты и выведены из NavigationController. Как правило, UINavigationBar анимирует кнопку заголовка и возврата справа налево во время нажатия и слева направо во время поп-музыки. Я хотел бы остановить эту функциональность, сохраняя навигацию более или менее статичной.Как предотвратить анимацию UINavigationBar при нажатии и нажатии UIViewControllers?

я могу предотвратить хлопки анимации, перекрывая следующие в моей пользовательской UINavigationBar:

-(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated{ 
    return [super popNavigationItemAnimated:NO]; 
} 

Однако, если переопределить

- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated 

UINavigationBar еще одушевляет всякий раз, когда я нажимаю новый ViewController на NavigationController.

РЕДАКТИРОВАТЬ: Я все еще хочу, чтобы нажатый или всплывающий viewController анимировал или выходил. Необходимо остановить только навигационную панель.

+1

Даже после того, как с анимированными опции как NO? – user968597

+1

Не имеет значения, если я перегружаю - (void) pushNavigationItem: элемент анимированный: анимированный, потому что метод никогда не вызывается при нажатии viewController. – selljamhere

ответ

0

Это работает для меня - переопределить этот метод UINavigationBar:

- (void)pushNavigationItem:(UINavigationItem *)item { 
    NSMutableArray* items = [[self items] mutableCopy]; 
    [items addObject:item]; 
    self.items = items; 
}