Как сказать, когда кнопка назад нажата в UINavigationControllerStack - PullRequest
6 голосов
/ 30 марта 2010

Можно ли проверить, когда кнопка назад нажата в стеке UINavigationController? Я попытался добавить действие и цель к self.navigationItem.backBarButtonItem безрезультатно.

У кого-нибудь есть решения?

Ответы [ 2 ]

0 голосов
/ 24 мая 2013

Вы можете попробовать мой путь:

Напишите в вашем 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!

П / с: enter image description here Я получил это из симулятора. Надеюсь, что это полезно! :)

0 голосов
/ 26 марта 2013

Один из способов добиться этого - переопределить viewWillDisappear в UIViewController, который отображается при нажатии кнопки «Назад»:

- (void)viewWillDisappear:(BOOL)animated {
    if (self.isMovingFromParentViewController) {
        // handle back button press
    }
}

Очевидно, что это напрямую не перехватывает нажатие самой кнопки «назад», но дает вам возможность выполнить логику в это время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...