推后改变后退按钮标题

时间:2013-12-05 01:16:09

标签: ios iphone cocoa uinavigationcontroller

UINavigationController完成推送后是否可以更改后退按钮的标题?

例如,假设我在推送的VC上有一个文本字段。是否可以使用后退按钮文本镜像字段文本?

我知道这很糟糕,但客户需要它。

3 个答案:

答案 0 :(得分:2)

后退按钮的标题来自前一个视图控制器的标题。因此,如果要将文本字段镜像为后退按钮标题,则应在准备segue方法中将视图控制器的标题传递给推送的视图控制器:

/*
* Called in ViewControllerA
*/
if ([segue.identifier isEqualToString:@"ViewControllerB"]) {
    ViewControllerB *VCB = segue.destinationViewController;
    VCB.previousViewControllerTitleString = self.navigationItem.title;
}

然后您可以使用ViewControllerB中的previousViewControllerTitleString属性来设置文本字段的文本。

答案 1 :(得分:1)

1假设2个viewController,A推送到B:

当您在A中按B时,您可以将A的标题设置为您想要的。然后B中的后面标题将被更改。

请注意在弹出B时更改A的标题(如果需要)。

2您也可以自己定制后退按钮。

答案 2 :(得分:0)

使用此:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationController.navigationBar.backItem.title = self.textField.text;
}

但是,您可能需要在设置标题之前将backItem设置为UIBarButtonItem实例,因为它可能为零。