У меня есть UIViewController
, называемый FriendsViewController
внутри a UINavigationController
. А второй UIViewController
называется FriendsDetailedViewController
. Когда вы переходите с первого контроллера представления ко второму, я хочу программным образом нажать кнопку Back
, когда это необходимо. Как это сделать?
Как нажимать кнопку "Назад" в UINavigationController программно
Ответ 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];