后屏幕按钮在 IOS 中工作



我有一个视图控制器,上面有一个地图视图。地图视图上方有一个后退按钮,单击该按钮时应移回视图控制器。但是当我点击后退按钮时,它不会进入后屏幕。我的代码是这个视图 didLoad,

 UIButton *backButton = [[UIButton alloc] initWithFrame: CGRectMake(10, 20, 30,30)];
[backButton setImage:[UIImage imageNamed:@"row.png"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(popVC) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:backButton];
- (void) popVC{
HomeViewController *presales = [self.storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
[self.navigationController pushViewController:presales animated:YES];

}

按钮是这样的,在此处输入图像描述

移回HomeViewController

如果使用pushViewController显示当前视图控制器。你必须使用popViewControllerAnimated而不是pushViewController。尝试用下面的代码替换您的popVC

- (void) popVC{
    [self.navigationController popViewControllerAnimated:YES];
}

如果使用presentViewController显示当前视图控制器。你必须使用dismissViewControllerAnimated而不是pushViewController。尝试用下面的代码替换您的popVC

- (void) popVC{
    [self dismissViewControllerAnimated:YES completion:nil];
}

试试这个:
通过编写第一行,您可以获得所有视图控制器的索引,从第二行您将到达目的地。

NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:2] animated:YES];

最新更新