回到没有导航控制器的导航栏(如android中的Activity.this.finish())?

时间:2013-02-15 04:12:27

标签: ios ios6

我在android中有背景,简而言之,每个屏幕上都有Activity被推送到堆栈上,当我在该活动上调用Activity.this.finish()时,它会从上一个屏幕上的堆栈和应用程序中删除(像后退按钮这样的行为) 。在ios 6应用程序中我有导航栏(它没有嵌入导航控制器,有什么方法可以调用某些东西来破坏当前的控制器并重新回到以前的状态?

3 个答案:

答案 0 :(得分:2)

如果无法访问NavigationController,则无法更改其堆栈。

我认为你应该让你的视图访问NavigationController(例如通过添加引用NC的字段来查看类),然后从任何你想要的地方调用它。

此外,您可以在AppDelegate类中继续引用NC,这样您就可以从应用程序的任何位置调用NC的方法。

答案 1 :(得分:2)

这取决于你如何带来“电流控制器”。由于没有涉及导航控制器,您可能使用“PresentViewController”来带来这个“当前控制器”。然后,你可以“解除ViewController”为

[self dismissViewControllerAnimated:YES completion:Nil];

答案 2 :(得分:1)

视图与控制器没有明确的关系,视图不能在控制器堆栈中。将按钮目标设置为UIViewController实例,并在action方法中调用:

[self.navigationController popViewControllerAnimated:YES|NO];