更改左栏按钮标题

时间:2012-08-22 04:12:38

标签: iphone objective-c cocoa-touch uiviewcontroller uinavigationcontroller

我正在使用两个视图控制器。我知道当我们移动到第二个视图控制器时,第二个视图控制器中的后退按钮标题将显示第一个视图控制器标题。现在我的第一个View Controller标题是注册,但是当我移动到第二个视图控制器时,后面应该显示为“主页”。我尝试使用以下代码,但它没有改变。

self.navigationController.navigationBar.backItem.title = @"Home"; 

即使在SecondViewController中,我也创建了自己的自定义BarbuttonItem

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

但按钮看起来像一个矩形形状。

任何人都可以告诉我如何更改“左”按钮项目标题。 ??

3 个答案:

答案 0 :(得分:1)

您需要隐藏BackButton然后创建自己的左UIBarButtonItem

self.navigationItem.hidesBackButton=YES;


UIBarButtonItem *btn=[[UIBarButtonItem alloc]initWithTitle:@"YourCustomTitle" style:UIBarButtonItemStyleBordered target:self action:@selector(yourAction:)];
self.navigationItem.leftBarButtonItem=btn;

如果要在左侧显示更多UIBarButton,则需要创建具有容量的NSMutableArray * arrBarBtn,然后向其添加uibarbutton对象。

之后的箱子UIToolBar然后[myToolBar setItems:arrBarBtn];

使用customView:myToolBar最终创建自定义UIBarButton。将它分配给self.navigationItem.leftBarButtonItem。如果您需要代码,我会提供。

答案 1 :(得分:1)

在推送新的ViewController之前:

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

[self.navigationController pushViewController:newVC animated:YES];

答案 2 :(得分:0)

你也可以这样做......在FirstViewController中写这个

- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationItem setTitle:@"FirstViewController"];
    [super viewWillAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [self.navigationItem setTitle:@"Registration"];
    [super viewWillDisappear:animated];
}

试试这个