web-dev-qa-db-ja.com

プログラムでUINavigationControllerの「戻る」ボタンを押す方法

UIViewControllerの中にFriendsViewControllerというUINavigationControllerがあります。そして、2番目のUIViewControllerFriendsDetailedViewControllerと呼ばれます。最初のView Controllerから2番目のView Controllerに移動するとき、必要に応じてプログラムでBackボタンを押したいです。これを行う方法?

54
Timur Mustafaev

単に使用する

[self.navigationController popViewControllerAnimated:YES]

friendsDetailedViewControllerから。ビューがポップアウトされます。つまり、戻るボタンの動作です。

166
Mann

「戻る」ボタンを押して、前のView Controllerに移動するだけの場合、次のように呼び出すことができます。

[self.navigationController popViewControllerAnimated:YES];
16
Bartek

Swiftメソッド

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

Swift 3

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

_は、XCodeによって生成されるい警告を抑制するために使用されます。

0
Jay Mayu

1)現在のNavigationControllerでポップした場合

In Swift

self.navigationController?.popViewControllerAnimated(true)

目的C

[self.navigationController popViewControllerAnimated:YES];

2)別のNavigation Controllerを戻す場合

In 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];
0
Mohit