navigationItem.title没有刷新

时间:2009-02-05 10:26:03

标签: iphone objective-c cocoa-touch

我有一个RootViewController和一个SubViewController。我在任何一个方向上遍历观点。 RootViewController是一个UITableView子类。根据所选行,我想使用self.navigationItem.title = [chunks objectAtIndex:1];

更改子视图的标题

首次加载子视图时,它可以正常工作。但是当我返回RootViewController并再次加载子视图时,前一个标题仍然存在。 我错过了什么想法?

3 个答案:

答案 0 :(得分:1)

在您的特定情况下,您可能希望在viewWillAppear中设置标题:这样每次视图出现在屏幕上时都会设置标题。

答案 1 :(得分:0)

我刚在我的应用程序中尝试过它。当我使用

设置标题时
self.navigationItem.title = @"Foo"

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

或许我不理解你的问题。据我所知,它的确有效,就像你期待它一样。

答案 2 :(得分:0)

我猜您正在尝试更改viewDidLoad方法中的标题。仅在第一次加载视图时调用viewDidLoad。如果您重复使用相同的viewcontroller实例,viewDidLoad将只被调用一次。

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