【发布时间】:2010-06-04 07:44:32
【问题描述】:
你好,
我有一个混合 iPhone 应用程序,它有一个 UITabBarController 和 5 个选项卡。每个选项卡都承载一个 UINavigationViewController,它使用一个根控制器初始化,该根控制器是一个承载一个 UIWebView 的 UIViewController。在某个特定链接上,我推送导航控制器上固有的 UITableViewController(显示本地存储的一些数据)并有一个后退按钮。以下是我在 shouldStartLoadWithRequest: 方法中解析 URL 字符串后的代码。
UINavigationController *navControl = (UINavigationController *)self.parentViewController;
CartTableViewController *tabView = [[CartTableViewController alloc] init];
[navControl pushViewController:tabView animated:YES];
navControl.navigationBar.hidden = NO;
return YES;
这很好用。解析特定链接并将表格视图推送到导航堆栈上。当我点击后退按钮时(是的,它显示“后退”而不是前一个视图的名称,即“新闻”)我得到另一个表格视图,但这次后退按钮被命名为“新闻”。当我点击它时,我回到我的根控制器。我似乎没有找到两个视图是从哪里推送到根视图上的堆栈的。
谢谢。 扎基
【问题讨论】:
-
好的,我找到了问题。对于这样的事情,我需要从 shouldStartLoadWithRequest: 返回 NO。抱歉打扰了:$
-
您应该回答您自己的问题,以防止此问题显示为未回答。另外,我注意到您在上面的代码中存在内存泄漏。你应该在 pushViewController 之后释放 tabView。导航控制器将保留它。
标签: iphone uinavigationcontroller