我正在使用Swift 3,我遇到了问题。 实际上,我想以编程方式更改我的后退按钮标题,但它不能随时工作。
当标题很短时,效果很好,但当长度大于20个字符时,它只显示“返回”。
要更改标题,我在父控制器中使用它:
let backItem = UIBarButtonItem()
backItem.title = "new name"
navigationItem.backBarButtonItem = backItem
你知道为什么它不长时间显示标题吗?
感谢您的帮助
答案 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
}