Ios 如何更改UINavigationBar标题的名称而不影响以前的视图?

Ios 如何更改UINavigationBar标题的名称而不影响以前的视图?,ios,objective-c,uinavigationcontroller,uinavigationbar,Ios,Objective C,Uinavigationcontroller,Uinavigationbar,我的应用程序中有三个视图 我的主视图控制器(称为“技术数据”)嵌入了一个导航控制器。它还有两个圆形的rect按钮,可以连接到我的另外两个视图 由于我的第二个和第三个视图的名称很长,我的导航栏最终看起来是这样的:一个后退按钮,标题是“技术数据”和“视觉规格…” 我决定在第二个名为“视觉专业”的视图的viewDidLoad中实现这一点: 说到这里,后退按钮现在显示“后退”,我的第二个和第三个视图上的导航标题显示完整;“视觉专业”而不是“视觉专业…” 问题是,现在当我返回到主视图时,导航栏上的标题已更

我的应用程序中有三个视图

我的主视图控制器(称为“技术数据”)嵌入了一个导航控制器。它还有两个圆形的rect按钮,可以连接到我的另外两个视图

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

我决定在第二个名为“视觉专业”的视图的
viewDidLoad
中实现这一点:

说到这里,后退按钮现在显示“后退”,我的第二个和第三个视图上的导航标题显示完整;“视觉专业”而不是“视觉专业…”

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


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

相反,请在第一个视图控制器的
viewDidLoad
方法中使用以下代码:

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

我尝试将您的代码添加到我的viewDidLoad中,但对后退按钮没有任何更改,它仍然显示“技术专业”,甚至没有显示“后退”,关于为什么会出现这种情况,有什么建议吗?也许可以尝试将其添加到initWithNibName:bundle:方法中?很抱歉,我在尝试之前也应该指定,但运气不佳:/@jbums20这是更改“后退”按钮标题的正确方法。但是,它需要在第一个控制器上(在它后面有控制器的控制器)。。。i、 e.您的第一个控制器会影响在其之后按下的下一个控制器的“后退”按钮。(在
viewdiload
方法中的第一个控制器上设置它)虽然从技术上讲它仍然可以工作,但将它放在
initWithNibName:bundle
方法中不是很好的做法,因为这与视图相关(与初始化控制器本身无关)。。。相反,将其放在
viewDidLoad
方法中。
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
                                   initWithTitle: @"Back"
                                   style: UIBarButtonItemStyleBordered
                                   target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;