导航从一个UIviewController控制器开始[[TTNavigator navigator] openURLAction:theUrl];
,另一个UIViewController是该URL的目标。使用以下代码设置地图,毫无疑问导航会到达正确的位置:
TTURLMap* map = navigator.URLMap;
[map from:@"tt://goToMyViewController" toViewController:[MyViewControllerClass class]];
在推动视图控制器中,我想操作后退按钮上的图像,但不想更改标题。它应始终是视图控制器的标题,如果没有设置标题,则将其推到顶部,或者本地化为“返回”。
问题:
在这个推送视图控制器的viewDidLoad
我开始
NSArray* viewControllers = self.navigationController.viewControllers;
获取导航堆栈,以便查看相应视图控制器的标题。但是viewControllers是零......
但是,如果我什么也不做,默认后退按钮确实有正确的标题。我想看看leftBarButtonItem和backBarButtonItem标题属性,但那里没有任何意义......
任何人都知道发生了什么,为什么会发生这种情况或如何解决这个问题?
答案 0 :(得分:1)
这是其中viewDidLoad
做错的地方之一 - 在比较各种视图控制器并发现它们的调用方式没有真正区别之后(但是其他人没有viewControllers
这让我感到震惊的是,如果它真的是零,popViewControllerAnimated
也不应该工作。我发现viewControllers
并非{n},我打电话给popViewControllerAnimated
并且从那里开始实验表明我可以获得我在viewWillAppear:
中获得的头衔。
因此,viewWillAppear:
似乎是一个可靠的触摸地点self.navigationController
而viewDidLoad
不是。{/ p>