如何可靠地确定从该模态视图中调用模态视图的视图控制器的名称?该应用程序有一个单例,所以我打算在那里添加一个视图控制器并保存调用视图控制器的名称。 .parentController为我提供了导航控制器的名称。
EDIT 我尝试了一个示例项目,它就像我的一样,所以我想也许不在同一页面上。感谢您在这一方面与我合作。我从
下载了一个项目http://sites.google.com/site/iphonesdktutorials/sourcecode/UINavigationControllerWithToolbar.zip?attredirects=0
添加了2行并更改了1,它演示了我得到的内容。如果那样的话,我花了5分钟。在RootViewController.m中,info_clicked(第147行),在最后一行add,
之上NSLog(@"calling: %@", [[self navigationController] visibleViewController]);
然后,根据您的指示,在最后一行将self.navigationController更改为self。这个控制器是我想从模态中得到的。然后在InfoViewController.m,viewDidLoad(第35行)中,在结束大括号之前添加,
NSLog(@"Parent: %@", [self parentViewController]);
将Base SDK项目设置更改为4.0,构建,打开控制台并按底部的信息按钮。我正在为parentViewController获取UINavigationController,我想要RootViewController。
答案 0 :(得分:1)
您可能正在使用[self.navigationController presentModal...]
而不是[self presentModal...]
。如果您使用self
,parentViewController
将有效。