在UINavigationController中设置所有后退按钮标题

时间:2016-11-08 17:17:47

标签: ios swift uinavigationcontroller uinavigationbar

我试图聪明地设置UINavigationController中“Back”按钮的所有title属性,这样我就不必在任何地方self.navigationController.navigationBar.backButtonItem.title = "Back"或子类{{1并在任何地方设置它,所以我创建了这个扩展名:

UINavigationController

但它说extension UINavigationItem { open var backBarButtonItem: UIBarButtonItem? { get { return self.backBarButtonItem } set { newValue?.title = "Back" backBarButtonItem = newValue? } } }

之前是否有人这样做过,或者能想出一种方法让它发挥作用?

2 个答案:

答案 0 :(得分:1)

您收到此错误是因为您无法创建名称与SDK中定义的变量类似的变量。

您无法覆盖现有功能

与您的情况一样,您将其命名为backBarButtonTitleopen var backBarButtonItem: UIBarButtonItem? UINavigationBarUIKit中定义为int YOUR_PERMISSION_REQUEST = 1212;

正如Apple的doc中提到的那样

  

扩展程序可以为类型添加新功能,但它们不能   覆盖现有功能。

答案 1 :(得分:-2)

请按照此屏幕截图图像然后运行您的项目。我认为您可以轻松解决您的问题:)enter image description here