查看层次结构
- UINavigationController
- ->UITableViewController(1)
- ->UITableViewController(2)
- ->UIViewController(3)
在1和2我有这个代码:
- override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {
- self.navigationItem.backBarButtonItem?.title = ""
- }
它应该覆盖当前视图控制器上推送的下一个视图控制器的后退按钮标题.它的工作原理是1 – >但它不适用于2 – > 3.在3中,后退按钮标题有一个标题,即前一个UITableViewController的名称.
任何想法都错了吗?我使用的是swift,xcode6.1和iOS8.1
解决方法
您可以初始化一个没有标题的新后退按钮.只需将其放在每个视图控制器的viewDidLoad()中.
- self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "",style: UIBarButtonItemStyle.Plain,target: nil,action: nil)
–
我将根据我的经验扩展这个答案.所以我设法删除了后退按钮的标题,只显示后退箭头.在故事板中,您必须选择在前一个视图控制器的导航栏内显示标题的导航项.有一个名为Back Button的属性.只需输入空格即可保存.它将删除后退按钮标题.
更新UIBarButtonItemStyle.Bordered在iOS 8.0中已弃用.请改用UIBarButtonItemStyle.Plain.