【发布时间】:2012-07-02 15:28:48
【问题描述】:
我已经在这里尝试了所有我能想到的。
self.navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
self.navigationBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
self.navigationBar.topItem.title = @"Title";
self.navigationItem.title = @"Title";
self.title = @"Title";
self.navigationBar.topItem.titleView.backgroundColor = [UIColor blueColor];
self.navigationController.navigationBar.topItem.title = @"Title";
[self.view addSubview:self.navigationBar];
我已经尝试了所有这些,希望其中一个可以工作,但没有一个可以。如何更改此导航栏的标题?这是在 UIViewController 的 init 方法中。
【问题讨论】:
-
这一切都取决于导航栏的初始化位置。
-
正如@stavash 所说,您可能需要指定栏的初始化位置。例如,如果它发生在另一个类中,您将不会使用 self,而是使用该类的实例。因此,如果您在其他地方实现了它,它将是 #import SomeClassName 然后在标题 SomeClassName *className;那么...你可以做 className.navigationBar.title = "Title";
-
顺便说一下,视图在 init 方法中还没有准备好,所以我强烈建议将您决定的任何代码转移到 viewDidLoad。
标签: iphone objective-c ios uiviewcontroller uinavigationbar