Как сказать, когда кнопка возврата нажата в UINavigationControllerStack Можно ли проверить, нажата ли кнопка "Назад" в стеке UINavigationController? Я попытался добавить действие и цель в self.navigationItem.backBarButtonItem безрезультатно. У кого-нибудь есть какие-либо решения? Ответ 1 Вы можете попробовать: Напишите в вашем ViewController: UIBarButtonItem *backBt = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageNameOfBackButton"] style:UIBarButtonItemStyleBordered target:self action:@selector(backBt_touch:)]; self.navigationItem.leftBarButtonItem = backBt; И метод действия: - (void)backBt_touch:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } Вам нужно сделать снимок, который вы хотите. Анимация скрытой кнопки при появлении viewController - это не та же анимация iOS! P/s: Я получаю его от симулятора. Надеюсь, это полезно!:) Ответ 2 Один из способов добиться этого - переопределить viewWillDisappear в UIViewController, который будет отображаться при нажатии кнопки "Назад": - (void)viewWillDisappear:(BOOL)animated { if (self.isMovingFromParentViewController) { // handle back button press } } Очевидно, это не напрямую перехватывает прессу на самой задней кнопке, но дает вам возможность выполнить логику в это время.
Ответ 1 Вы можете попробовать: Напишите в вашем ViewController: UIBarButtonItem *backBt = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageNameOfBackButton"] style:UIBarButtonItemStyleBordered target:self action:@selector(backBt_touch:)]; self.navigationItem.leftBarButtonItem = backBt; И метод действия: - (void)backBt_touch:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } Вам нужно сделать снимок, который вы хотите. Анимация скрытой кнопки при появлении viewController - это не та же анимация iOS! P/s: Я получаю его от симулятора. Надеюсь, это полезно!:)
Ответ 2 Один из способов добиться этого - переопределить viewWillDisappear в UIViewController, который будет отображаться при нажатии кнопки "Назад": - (void)viewWillDisappear:(BOOL)animated { if (self.isMovingFromParentViewController) { // handle back button press } } Очевидно, это не напрямую перехватывает прессу на самой задней кнопке, но дает вам возможность выполнить логику в это время.