Я пишу подкласс UINavigationBar и хочу интегрировать в него по умолчанию backButton.Пользовательская кнопка «Назад» в подклассе UINavigationBar
Из того, что я понял с документацией, мне нужно посмотреть, когда новый элемент добавлен в свойство item
, и добавьте в него свою пользовательскую кнопку возврата.
Я сделал это в UINavigationBar подклассе:
- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated {
[super pushNavigationItem:item animated:animated];
ActionButton *leftButtom = [[ActionButton alloc] init];
leftButtom.cancel = NO;
[item setBackBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:leftButtom]];
}
- (UINavigationItem *)popNavigationItemAnimated:(BOOL)animated {
return [super popNavigationItemAnimated:animated];
}
Я не понимаю, почему, но popNavigationItemAnimated
вызывается при нажатии кнопки назад, но pushNavigationItem
не вызывается, когда я толкаю новый ViewController.
Я проверить с помощью отладчика и
po [[self.navigationController navigationBar] items]
печать правильно, что есть новый элемент в массиве.
Я что-то пропустил?
Вы даете мне код для ввода в UIViewController, я хочу достичь этого в моем подклассе UINavigationBar. Это заставит меня поместить этот код во весь мой UIViewController или сделать категорию для этого, и я не упаду, как это лучший способ достичь этого. – Loadex