2009-02-05 71 views
0

我有一个RootViewController和一个SubViewController。我沿任何一个方向遍历视图。 RootViewController是一个UITableView子类。根据所选的行,我想更改子视图的标题self.navigationItem.title = [chunks objectAtIndex:1];navigationItem.title不会刷新

它在第一次加载子视图时起作用。但是,当我返回到RootViewController并再次加载子视图时,以前的标题仍然存在。 任何想法我错过了什么?

回答

0

我刚刚在我的一个应用程序中试过。当我设置标题使用

self.navigationItem.title = @"Foo" 

导航栏中的名称立即更改。我认为你在其他地方有一个bug,你只有在你第一次调用SubViewController时才会调用它。在该线上划一个断点,看看它是否真的第二次被调用。或者可能[chunk objectAtIndex:1]总是返回相同的字符串。

或者我不理解你的问题。据我所知,它的确如你所期望的那样工作。

1

在你的特殊情况下,你可能想要在viewWillAppear中设置你的标题:这样,每当视图出现在屏幕上时,标题就会被设置。

+0

我有同样的问题,这是我的工作,FWIW。它对我仍然感觉有点“哈克”。 – Prairiedogg 2009-09-01 04:38:15

0

我想你正试图改变viewDidLoad方法中的标题。只有在第一次加载视图时才调用viewDidLoad。如果你正在重复使用同一个viewcontroller的实例,viewDidLoad将只被调用一次。

请尝试在viewWillAppear方法中设置标题。每次要显示视图时都会调用此方法。这应该工作。