UINavigationController后退按钮中的自定义文本

时间:2012-03-19 18:46:42

标签: objective-c ios uinavigationcontroller

在我的应用程序中,我有两个UIViewControler的UINavigationController(第一个和第二个)。第一个视图控制器包含UITableView。当触摸表格的单元格时,推动第二视图控制器。我想要的是在第二个视图中将自定义文本设置为后退按钮。这是第二个视图中的代码。

- (void)viewDidLoad
{
   [super viewDidLoad];
    self.navigationItem.leftBarButtonItem =
    [[[UIBarButtonItem alloc] initWithTitle:@"Go back"
                                      style:UIBarButtonItemStyleBordered
                                     target:nil
                                     action:nil] autorelease]; 
}

问题是后退按钮的文本已更改,但触摸按钮时,第二个视图控制器不会从堆栈中删除。

3 个答案:

答案 0 :(得分:6)

这已经被问过很多次了:

后退按钮(self.navigationItem.backBarButtonItem)必须设置而不是左按钮,而不是第二个控制器,而是第一个(根)。

答案 1 :(得分:2)

“后退”按钮适用于执行推送的控制器。在这种情况下,您需要在“第一个”UIViewController中分配自定义后退按钮。当您按下第二个视图控制器时,后退按钮将显示正确的文本

答案 2 :(得分:1)

您正在尝试设置leftbarbuttonitem的属性。

要使用后退栏按钮的默认属性,只需使用

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

这会从导航控制器弹出推送的视图,也可以让你回到最后一个视图。