1

如何可靠地确定从模态视图中调用模态视图的视图控制器的名称?该应用程序有一个单例,所以我打算在那里添加一个视图控制器并保存调用视图控制器的名称。.parentController 给了我导航控制器的名称。

编辑我尝试了一个示例项目,它和我的一样,所以我认为可能不在同一页面上。我很感激你和我一起做这个。我从下载了一个项目

http://sites.google.com/site/iphonesdktutorials/sourcecode/UINavigationControllerWithToolbar.zip?attredirects=0

添加了 2 行并更改了 1,它演示了我得到的。如果那样的话,我花了5分钟。在 RootViewController.m 中,info_clicked(第 147 行),在最后一行上方添加,

NSLog(@"calling: %@", [[self navigationController] visibleViewController]); 

然后,根据您的指示,在最后一行将 self.navigationController 更改为 self。这个控制器是我想从模态中得到的。然后在 InfoViewController.m 中,viewDidLoad(第 35 行),在右花括号之前添加,

NSLog(@"Parent: %@", [self parentViewController]); 

将 Base SDK 项目设置更改为 4.0,构建,打开控制台并按下底部的信息按钮。我正在为 parentViewController 获取 UINavigationController,我想要 RootViewController。

4

1 回答 1

1

您可能正在使用[self.navigationController presentModal...]而不是[self presentModal...]. 如果你使用self,parentViewController将工作。

于 2010-08-10T19:44:29.667 回答