Как нажать кнопку" Назад " в UINavigationController программно


у меня есть UIViewController под названием FriendsViewController внутри UINavigationController. А второй UIViewController под названием FriendsDetailedViewController. При переходе от первого контроллера вида ко второму Я хочу программно нажать Back кнопка, когда это необходимо. Как это сделать?

5 51

5 ответов:

просто использовать

[self.navigationController popViewControllerAnimated:YES]

от FriendsDetailedViewController. Ваш взгляд будет выскочил, т. е. поведение кнопки Назад

если, нажав кнопку "Назад", вы хотите просто перейти к предыдущему контроллеру вида, вы можете просто позвонить:

[self.navigationController popViewControllerAnimated:YES];

вот метод swift

if let navController = self.navigationController {
    navController.popViewControllerAnimated(true)
}

1) Когда вы попадаете в текущий NavigationController, то

Быстро

self.navigationController?.popViewControllerAnimated(true)

С

[self.navigationController popViewControllerAnimated:YES];

2) Когда вы возвращаете другой навигационный контроллер, то

Быстро

let story = UIStoryboard(name: "Main", bundle: nil)
let pushVC = story.instantiateViewControllerWithIdentifier("PushVC")
let navigation = story.instantiateViewControllerWithIdentifier("homeNavigation") as! UINavigationController
navigation.pushViewController(pushVC!, animated: true)

В Объективе C

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyBoardName" bundle:nil];
pushVC* ObjectOfPushVC = [storyboard instantiateViewControllerWithIdentifier:@"pushVC"];

[self.navigationController pushViewController:ObjectOfPushVC animated:YES];

вот как я это сделал в Swift 3

_ = self.navigationController?.popViewController(animated: true)

_ используется для подавления уродливого предупреждения, генерируемого XCode.