iOS:从保留图标的后退button中删除文本

我想从后退button中删除文本,但我想保留图标。 我努力了

let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil) navigationItem.leftBarButtonItem = backButton 

但是,这将完全删除文本和图标。 我正在使用Swift 2.0。

提前致谢。

@ rmd2的方法几乎是正确的=),但是您应该select后退button将指向的控制器的导航栏,然后在后退button字段中键入" "

在这里输入图像说明

我知道这已经有一个答案,但你也可以在代码中(如果你正在使用笔尖)

 navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) 

在第一个视图控制器中添加上述内容。

请注意,您需要为每个正在推送的视图控制器执行此操作。 所以,如果你有3个视图控制器,并且你想从所有的视图控制器中删除后面的文本,你必须在视图控制器1和2中添加这一行。

如果您想从推送的视图控制器中删除后退button的标题,让我们说<Settings <在subSettingsViewController中,那么你必须在SettingsViewController的viewWillDisappear()方法中设置backBarButtonItem标题。

Objective-C的:

 - (void)viewWillDisappear:(BOOL)animated [super viewWillDisappear:animated]; self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:self.navigationItem.backBarButtonItem.style target:nil action:nil]; } 

迅速:

 override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(true) navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil) } 

我通过在以前的ViewController的StoryBoard标题上添加一个“”来解决这个问题。 只是一个空间,不是空的; D

在这里输入图像说明

后退button的文本取决于主视图的标题。

诀窍是如果主视图消失,则清除标题,如果再次显示则将其重新设置:

 override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(true) // needed to clear the text in the back navigation: self.navigationItem.title = " " } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationItem.title = "My Title" } 
 let button: UIButton = UIButton (type: UIButtonType.Custom) button.setImage(UIImage(named: "imageName"), forState: UIControlState.Normal) button.addTarget(self, action: "backButtonPressed:", forControlEvents: UIControlEvents.TouchUpInside) button.frame = CGRectMake(0, 0, 30, 30) let barButton = UIBarButtonItem(customView: button) self.navigationItem.leftBarButtonItem = barButton func backButtonPressed(btn : UIButton) { // Your code }