要实现 iOS 中返回 2 层 push 的功能,可以使用以下方法:

  1. 在第一个 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];
}
  1. 在第二个 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 到第二个视图控制器。而当用户点击第二个视图控制器中的返回按钮时,会直接返回到第一个视图控制器。

iOS Object-C 实现返回两层 Push 的方法

原文地址: https://www.cveoy.top/t/topic/qorB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录