我在视图控制器上设置了两个按钮,通过从操作按钮拖动到视图控制器上退出来退出视图。
我正在尝试以编程方式执行此操作。我有
- (IBAction)goBack:(UIButton *)sender {
NSLog(@"go back");
//[self.navigationController popViewControllerAnimated:YES];
[self dismissViewControllerAnimated:TRUE completion:^{
NSLog(@"Test");
}];
NSLog(@"are we back");
}
这样:
[self.navigationController popViewControllerAnimated:YES];
似乎没有做任何事情。但目前的解雇方法似乎有效。
问题出在我的主要观点中
-(IBAction) returnToMainView1:(UIStoryboardSegue *) segue
{
NSLog(@"return to main view");
self._mytopconsoleview=nil;
self._mybottomconsoleview=nil;
self.viewB=nil;
[self animateRotation:[[UIApplication sharedApplication] statusBarOrientation]];
}
并且不再调用它。如何解除当前视图控制器并在主视图上调用方法,就像我所拥有的那样。
麦克
答案 0 :(得分:1)
重新重复我在评论中所说的内容 - 这显然会让你走上正确的道路:)
基本上,您希望将returnToMainView1
方法中的逻辑移至viewDidAppear。只要出现一个视图(如其名称所示),例如在解除模态视图控制器之后,就会调用此方法。
关于导航视图方案,只需根据您的呈现方式解除。如果您使用模态视图控制器,请使用dismissViewControllerAnimated:completion
或如果您使用了导航控制器,请使用popViewControllerAnimated:
。