iphone – 以编程方式调用导航控制器返回button
在一个基于UINavigationController的iPhone应用程序中,在一个方法中,我想执行后退button被按下并返回一个视图的编程等效。
即自动按下button,如下所示:
有我可以做一个通用的iOS调用,或者是需要更多的信息?
UINavigationController
的popViewControllerAnimated:
方法应该做你想做的事情:
[navigationController popViewControllerAnimated:YES];
假设你实际上并不想按下编程button,而是简单地复制按下button的结果,你应该告诉导航控制器popup当前的视图控制器。
[self.navigationController popViewControllerAnimated:YES];
这将从堆栈中删除它,并返回到前一个视图控制器。
Swift 3.0
回到根视图
self.navigationController?.popToRootViewController(animated: true)
回到上一个视图
self.navigationController?.popViewController(animated: true)
Swift 2.3
回到根视图
self.navigationController?.popToRootViewControllerAnimated(true)
回到上一个视图
self.navigationController?.popViewControllerAnimated(true)
你应该打电话
popViewControllerAnimated:
这与使用pushViewController:animated:
添加视图控制器相反pushViewController:animated:
[self.navigationController popViewControllerAnimates:YES];
是最好的select,但如果你是不是在相同的视图控制器类或您的委托更改您的后退button方法之前,那么你也可以尝试 –
首先你必须定义后退button—
UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"anyTitleForBackButton" style: UIBarButtonItemStyleBordered target: nil action: @selector(backButtonTapped)]; [[self navigationItem] setBackBarButtonItem: newBackButton]; [newBackButton release];
然后在backButtonTapped方法中可以调用 –
[self.navigationController pushViewController:desiredViewController animated:YES];