Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Просто используйте

[self.navigationController popViewControllerAnimated:YES]

из FriendsDetailedViewController. Ваше представление будет выведено, т.е. Поведение кнопки "Назад"

Ответ 2

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

[self.navigationController popViewControllerAnimated:YES];

Ответ 3

Вот быстрый метод

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

Ответ 4

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

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

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

Ответ 5

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

В Swift

self.navigationController?.popViewControllerAnimated(true)

Цель C

[self.navigationController popViewControllerAnimated:YES];

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

В Swift

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

В Objective C

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

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