我有一个视图控制器,上面有一个地图视图。地图视图上方有一个后退按钮,单击该按钮时应移回视图控制器。但是当我点击后退按钮时,它不会进入后屏幕。我的代码是这个视图 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];