iOS Object-C 实现返回两层 Push 的方法
要实现 iOS 中返回 2 层 push 的功能,可以使用以下方法:
- 在第一个 push 的视图控制器中,添加一个返回按钮,并为按钮添加一个方法,例如
goBackTwoLevels。
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:'Back' style:UIBarButtonItemStylePlain target:self action:@selector(goBackTwoLevels)];
self.navigationItem.leftBarButtonItem = backButton;
}
- (void)goBackTwoLevels {
// 返回到第一个 push 的视图控制器
[self.navigationController popToRootViewControllerAnimated:NO];
// 再次 push 到第二个视图控制器
UIViewController *secondViewController = [[UIViewController alloc] init];
[self.navigationController pushViewController:secondViewController animated:YES];
}
- 在第二个 push 的视图控制器中,同样添加一个返回按钮,并为按钮添加一个方法,例如
goBackOneLevel。
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:'Back' style:UIBarButtonItemStylePlain target:self action:@selector(goBackOneLevel)];
self.navigationItem.leftBarButtonItem = backButton;
}
- (void)goBackOneLevel {
// 返回到第一个 push 的视图控制器
[self.navigationController popViewControllerAnimated:YES];
}
这样,当用户点击第一个视图控制器中的返回按钮时,会先返回到根视图控制器,然后再次 push 到第二个视图控制器。而当用户点击第二个视图控制器中的返回按钮时,会直接返回到第一个视图控制器。
原文地址: https://www.cveoy.top/t/topic/qorB 著作权归作者所有。请勿转载和采集!