在UITableViewController上按UIViewController时更改后退按钮标题

Upv*_*ote 6 uitableview uiviewcontroller uinavigationcontroller ios swift

查看层次结构

UINavigationController
      ->UITableViewController(1)
             ->UITableViewController(2)
                   ->UIViewController(3)  
Run Code Online (Sandbox Code Playgroud)

在1和2我有这个代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    self.navigationItem.backBarButtonItem?.title = ""
}
Run Code Online (Sandbox Code Playgroud)

它应该覆盖当前视图控制器上推送的下一个视图控制器的后退按钮标题.它工作在1 - > 2.但它不适用于2 - > 3.在3中,后退按钮标题有一个标题,即前一个UITableViewController的名称.

任何想法都错了吗?我使用的是swift,xcode6.1和iOS8.1

Ron*_*ler 11

您可以初始化一个没有标题的新后退按钮.只需将其放在每个视图控制器的viewDidLoad()中.

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
Run Code Online (Sandbox Code Playgroud)

-

我将根据我的经验扩展这个答案.所以我设法删除了后退按钮的标题,只显示后退箭头.在故事板中,您必须选择在前一个视图控制器的导航栏内显示标题的导航项.有一个名为Back Button的属性.只需输入空格即可保存.它将删除后退按钮标题.

UIBarButtonItemStyle.BorderediOS 8.0中已弃用更新.请UIBarButtonItemStyle.Plain改用.

  • 为什么这对我不起作用?尝试清洁,重建,但文本仍然存在. (9认同)