ios - UINavigationController 如何设置标题

标签 ios uinavigationcontroller

我有一个用于通用项目列表的 Controller / View ,可以扩展它以显示自定义列表。列表和导航工作正常。但我无法更改 UINavigationController 的标题。 在通用 Controller 中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview: navigationController.view];
}
- (void)setNavigationTitle: (NSString *)title
{
    NSLog(@"set title: %@", title); // this works
    self.navigationController.title = title; // Nothing works here
}

然后,扩展类会......

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setNavigationTitle: @"Custom list"];
}

导航栏的标题仍然是“Item”:(

最佳答案

在您的 UIViewController 中有一个 title 属性,NavigationController 将显示该属性。因此,当将新的 UIViewController 推送到导航堆栈时,将该 UIViewController 的标题设置为适当的标题。

在你的情况下它看起来像:

[self setTitle:@"WhateverTitle"];

关于ios - UINavigationController 如何设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3959003/

相关文章:

ios - UINavigationControllerPaletteClippingView 覆盖 UIImageView 并接收点击手势

ios - 如何将 NavigationItem 添加到以编程方式创建的 UINavigationController

iOS : Query regarding dynamically created array

ios - WatchConnectivity:WCSession.transferUserInfo 在 watch 上成功,但数据从未到达 iPhone

iOS:与父 View Controller 通信

uinavigationcontroller - ios7在导航堆栈中返回的新平移手势不会清除tableview选择

ios - 如何仅在一个 View Controller 中使 UINavigationController 透明?

ios - 如何快速播放来自http数据流的音频

iOS - 如何使用branch.io 测试 Appstore 中的深度链接

ios - 我应该使用哪个版本的 Xcode 在 iPhone 3gs 设备 6.1.2 (10B146) 上运行我的应用程序