ios - 如何在不影响之前 View 的情况下更改 UINavigationBar 标题的名称?

标签 ios objective-c uinavigationcontroller uinavigationbar

我的应用中有三个 View 。

我的主视图 Controller (称为“技术数据”)嵌入了一个导航 Controller 。它还有两个圆形的矩形按钮,可以转到我的另外两个 View 。

由于我的第二个和第三个 View 的名称很长,我的导航栏最终看起来像这样:一个后退按钮,标题为“技术数据”和“视觉规范...”

我决定在名为“Visual Specialty”的第二个 View 的 viewDidLoad 中实现它:

self.navigationController.navigationBar.topItem.title = @"Back";

话虽如此,后退按钮现在显示为“后退”,并且我的第二个和第三个 View 上的导航标题显示完整; “视觉专业”而非“视觉专业...”

问题是现在当我返回主视图时,导航栏上的标题已更改为“返回”,因此在初始启动时主视图的名称为“技术数据”,这是正确的,但是一旦我导航到其中一个 View 并返回,它现在标题为“返回”

您知道解决此问题的好方法吗?

最佳答案

相反,在第一个 View Controller 的 viewDidLoad 方法中使用以下代码:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
                                   initWithTitle: @"Back"
                                   style: UIBarButtonItemStyleBordered
                                   target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

关于ios - 如何在不影响之前 View 的情况下更改 UINavigationBar 标题的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17769022/

相关文章:

iphone - UITabBars 无法识别导航栏和导航栏隐藏 TableView Controller

ios - isEqualToString 没有按预期工作?

ios - Xcode 6 中的 iPhone 6 设备上的应用程序安装失败

iphone - +(void)load 消息未发送到设备运行时的框架类

iphone - textFieldShouldReturn 不起作用(在 XCode 4 上使用 Storyboard)

cocoa-touch - 如何创建默认状态为 "back"的 UINavigationController?

ios - 设置自定义导航栏后 Segue 无法正常工作

ios - 将 CollectionView 照片传递到电子邮件附件 iOS swift

ios - 无法通过 pragma 禁用 LLVM 优化

ios - NSOperationQueue 和 NSURLSession 有什么区别?