当前左边栏按钮的默认值是加载当前视图的视图的标题,换句话说,当按下按钮(后退按钮)时显示的视图。
我想把按钮上显示的文本更改为其他内容。
我试着把下面这行代码放在视图控制器的viewDidLoad方法中,但它似乎不起作用。
self.navigationItem.leftBarButtonItem.title = @"Log Out";
我该怎么办?
谢谢。
当前左边栏按钮的默认值是加载当前视图的视图的标题,换句话说,当按下按钮(后退按钮)时显示的视图。
我想把按钮上显示的文本更改为其他内容。
我试着把下面这行代码放在视图控制器的viewDidLoad方法中,但它似乎不起作用。
self.navigationItem.leftBarButtonItem.title = @"Log Out";
我该怎么办?
谢谢。
当前回答
在《ChildVC》中,这对我来说很管用……
self.navigationController.navigationBar.topItem.title = @"Back";
也适用于Swift !
self.navigationController!.navigationBar.topItem!.title = "Back"
其他回答
好的,就这么办。如果你有一个视图控制器“first”,你通过按按钮等方式导航另一个视图控制器“second”,你需要做一些工作。 首先,你需要在“second”视图控制器的ViewDidLoad方法中创建一个BarButtonItem,如下所示;
UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(OnClick_btnBack:)];
self.navigationItem.leftBarButtonItem = btnBack;
[btnBack release];
之后,你需要在相同的.m文件中为“btnBack”操作编写代码;
-(IBAction)OnClick_btnBack:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
//[self.navigationController pushViewController:self.navigationController.parentViewController animated:YES];
}
这是所有。
self.navigationController.navigationBar.backItem.title = @"TEXT";
在Swift中:
self.navigationController?.navigationBar.backItem?.title = "TEXT"
这在Swift 4和iOS 11中都适用。最常见的情况是,当用户点击表视图中的一行,一个新的视图控制器被推送到导航堆栈时,我需要这样做。通常我希望返回按钮是被点击的行所表示的对象的名称或某些属性。我通常在didSelectRowAt中这样做。是这样的:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let object = // get the object this row represents
let backButton = UIBarButtonItem()
backButton.title = object.name // or whatever
self.navigationItem.backBarButtonItem = backButton
// now show or segue to the next view controller
}
这里解释的解决方案没有一个对我有效。所以我所做的就是从我来自的场景中删除标题,方法如下:
自我。标题= @"";
因此,当新场景呈现时,后面的文本不会出现。
我完全同意,这不是一个明确的解决方案,但工作,没有一个解释对我有效。
如果你有多个导航
ParentViewController—> ChildViewController1—> ChildViewController2
您可以使用下面的代码来更改导航栏上后退按钮的标题。
self.navigationController .navigationBar.topItem ?。backBarButtonItem = UIBarButtonItem。init(标题:"Back",样式:.plain,目标:nil,动作:nil)