【发布时间】:2013-04-18 21:16:35
【问题描述】:
我有一个 UINavigationController (A),它有几个子视图,它们也是 UIViewControllers (B 和 C)。主 UINavigationController (A) 位于 UITabViewController (D) 内部。
我正在尝试在 B 中推送视图控制器:
[self.navigationController pushViewController... etc]
现在,backBarButtonItem 带有错误的文本。它没有说“Back”,而是说“Item”。这可能是因为我的链中的一个视图控制器的标题设置为“项目”,或者它可能完全为零。
我的问题是,backBarButtonItem 是从哪里生成的?
我尝试了一些没有用的不同方法。在我推送视图控制器之前,我在 B 中尝试了这些代码行中的每一行。他们都没有工作。
self.presentingViewController.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"... etc
self.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"... etc
self.navigationController.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"... etc
我想在这里学习这个原理,以便我真正了解这个项目是从哪里填充的,以及正确的做法是什么。
【问题讨论】:
-
是否涉及导航控制器?如果有,在哪里?哪些视图控制器是导航控制器的子级?哪个视图控制器是导航控制器的父级,还是窗口的根视图控制器?
-
我的错,我修复了它并引用了它在链中的 UINavigationController。谢谢!
标签: uinavigationcontroller pushviewcontroller backbarbuttonitem