我在 View Controller 上设置了两个后退按钮,通过从操作按钮拖动到 View Controller 上的退出来退出 View 。
我现在正在尝试以编程方式执行此操作。我有
- (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]];
}
并且不再被称为。我如何关闭当前 View Controller 并调用主视图上的方法,就像我所拥有的那样。
迈克
最佳答案
只是重申我在评论中所说的话 - 这显然将你推向了正确的道路:)
基本上,您希望将 returnToMainView1
方法中的逻辑移至 viewDidAppear。每当 View 出现时(如其名称所示),例如在关闭模态视图 Controller 之后,都会调用此函数。
关于导航 View 方案,根据您的呈现方式忽略即可。如果您使用模态视图 Controller ,请使用 dismissViewControllerAnimated:completion
,或者如果您使用导航 Controller ,请使用 popViewControllerAnimated:
。
关于ios - 如何从操作表返回到上一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181665/