找出我在uinavigationcontroller层次结构中的位置,或者是否已推送视图?

can*_*boy 0 iphone cocoa-touch objective-c uinavigationcontroller

我有一个视图,有时看起来像uinavigationcontroller的推送视图,有时就像一个标签栏项目的初始视图.

界面上有一个"保存"按钮,我想让视图在被推到屏幕上时弹回到上一个视图,当它作为标签栏选择屏幕的一部分显示时什么也不做.

在伪代码中,我想我想要做的是:

if view-has-been-pushed, then pop back, else do nothing
Run Code Online (Sandbox Code Playgroud)

如何判断视图是否被推送?

Har*_*ich 5

根据文件

 NSArray* views = [myNavigationController viewControllers];
 if (self == [views objectAtIndex:0])
 {
    // I am the root view
 }
Run Code Online (Sandbox Code Playgroud)

但正如jasarien所说,popViewControllerAnimated如果视图已经是根,那么无论如何都不会做任何事情