在UINavigationController完成推送后,是否可以更改后退按钮的标题?
例如,假设我在推送的VC上有一个文本字段。是否可以将字段文本与后退按钮文本进行镜像?
我知道这很糟糕,但客户要求这样做。
发布于 2013-12-05 09:30:45
back按钮的标题是从上一个视图控制器的标题派生出来的。因此,如果您希望将文本字段镜像为back按钮标题,则应在prepare for segue方法中将视图控制器的标题传递给推送的视图控制器:
/*
* Called in ViewControllerA
*/
if ([segue.identifier isEqualToString:@"ViewControllerB"]) {
ViewControllerB *VCB = segue.destinationViewController;
VCB.previousViewControllerTitleString = self.navigationItem.title;
}然后,您可以使用ViewControllerB中的previousViewControllerTitleString属性来设置文本字段的文本。
发布于 2013-12-05 09:22:21
1假设2个viewController,A推送到B:
当您在A中按下B时,您可以根据需要设置A的标题。然后B中的后部标题将被更改。
当弹出B时,请注意更改回A的标题(如果需要)。
2你也可以自己定制后退按钮。
发布于 2013-12-05 09:28:54
使用以下命令:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBar.backItem.title = self.textField.text;
}但是,在设置标题之前,您可能需要将backItem设置为UIBarButtonItem实例,因为它可能为空。
https://stackoverflow.com/questions/20389548
复制相似问题