以编程方式更改后退按钮swift 3

时间:2017-05-15 12:54:26

标签: ios swift

我正在使用Swift 3,我遇到了问题。 实际上,我想以编程方式更改我的后退按钮标题,但它不能随时工作。

当标题很短时,效果很好,但当长度大于20个字符时,它只显示“返回”。

要更改标题,我在父控制器中使用它:

let backItem = UIBarButtonItem()
backItem.title = "new name"
navigationItem.backBarButtonItem = backItem

你知道为什么它不长时间显示标题吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

首先,您需要在控制器中创建UIButton的属性

var btn1: UIButton!

现在您以这种方式创建UIBarButtonItem

    btn1 = UIButton(type: .custom)
    btn1.setImage(UIImage(named: "imagename"), for: .normal)
    btn1.setTitle("Back", for: .normal)
    btn1.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
    btn1.addTarget(self, action: #selector(Class.Methodname), for: .touchUpInside)

    navigationItem.backBarButtonItem = UIBarButtonItem(customView: btn1)

使用btn1,您可以随时更改标题,图片。

答案 1 :(得分:0)

您可以在父视图控制器中更改它。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}