Objective c 导航控制器“;“后退按钮”;文本:以模式呈现

Objective c 导航控制器“;“后退按钮”;文本:以模式呈现,objective-c,ios,uinavigationcontroller,uibarbuttonitem,modalviewcontroller,Objective C,Ios,Uinavigationcontroller,Uibarbuttonitem,Modalviewcontroller,我正在创建一个视图控制器数组,将它们添加到UINavigation控制器中,然后以模式显示它们 但是,我无法将每个视图中“后退”按钮的文本设置为“后退”以外的任何内容 代码如下: //The View Controllers and Array VC1 *vc1 = [[VC1 alloc] initWithNibName:@"VC1" bundle:nil]; VC2 *vc2 = [[VC2 alloc] initWithNibName:@"VC2" bundle:nil]; VC3 *vc

我正在创建一个视图控制器数组,将它们添加到UINavigation控制器中,然后以模式显示它们

但是,我无法将每个视图中“后退”按钮的文本设置为“后退”以外的任何内容

代码如下:

//The View Controllers and Array
VC1 *vc1 = [[VC1 alloc] initWithNibName:@"VC1" bundle:nil];
VC2 *vc2 = [[VC2 alloc] initWithNibName:@"VC2" bundle:nil];
VC3 *vc3 = [[VC3 alloc] initWithNibName:@"VC3" bundle:nil];
NSArray * viewControllers = [NSArray arrayWithObjects:vc3, vc2, vc1, nil];

// Create the nav controller and set the view controllers.
UINavigationController*  theNavController = [[UINavigationController alloc]
initWithRootViewController:vc3];
[theNavController setViewControllers:viewControllers animated:NO];

// Display the nav controller modally.
[self presentModalViewController:theNavController animated:YES];
我在每个VC的初始阶段都尝试了以下方法:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init];
barButton.title = @"Acknowledge Briefings Read";
self.navigationItem.backBarButtonItem = barButton; 
。。。但它不起作用。有什么想法吗?非常感谢


另外,相关的,我理想情况下希望以“向前”的方向导航堆栈。使用导航控制器可以实现这一点吗?

您无法在init中执行任何视图操作。您需要等待viewDidLoad(或WillDisplay或DidDisplay),因为在init中没有绘制任何内容(对于导航控制器,上一项将受到影响)

以下是我所做的(在viewDidLoad中):


嘿,这可能对你有用:

self.navigationController.navigationBar.backItem.title = @"Acknowledge Briefings Read"; 
此代码应位于当前可见的viewController中。您应该将其添加到视图willapar中


Cheers

后退按钮测试自动设置为堆栈顶部UIViewController的标题属性。因此,在每个视图控制器的ViewDidDisplay或viewDidLoad中,将self.title设置为在将新视图推到堆栈上时要在“后退”按钮中显示的文本。

您好,亚当,谢谢。您知道我将如何使用这种方法来访问导航控制器堆栈中的下一个视图控制器吗?谢谢。你知道如何让nab按钮出现在屏幕的右边吗?我想让用户看到通过VC的堆栈向前移动。。。此时,nab按钮出现在屏幕左侧screen@LeeBarringer为了深入了解应用程序的设计,您真的应该阅读《视图控制器编程指南》。对于像这样的非常具体的问题,它没有多大用处。经验是前进的方向,或者说缺乏经验,正如我所做的那样,借鉴这个网站上非常善良的人们的洞察力。
self.navigationController.navigationBar.backItem.title = @"Acknowledge Briefings Read";