更改导航控制器中“编辑”按钮的字体

时间:2015-02-11 02:50:12

标签: uitableview swift uinavigationcontroller uibarbuttonitem

在导航控制器的左侧,我有一个按钮,我通过故事板进入。我当然没有问题配置,但我想使用你从取消注释出来的编辑按钮:

self.navigationItem.rightBarButtonItem = self.editButtonItem()

但是如何在此按钮上自定义字体名称,大小和颜色?

这是我环顾四周后尝试的内容:

let attributes = [NSFontAttributeName:UIFont(name: "HelveticaNeue-Thin", size: 19)!]
let fontColor = [NSStrokeColorAttributeName:UIColor.whiteColor()]
self.navigationItem.rightBarButtonItem = self.editButtonItem()
self.navigationItem.rightBarButtonItem?.setTitleTextAttributes(attributes, forState: .Normal)
self.navigationItem.rightBarButtonItem?.setTitleTextAttributes(fontColor, forState: .Normal)

这些属性都不起作用。是否有:

  • 另一种自定义您从viewDidLoad行获得的编辑按钮的方法(因为无法从Storyboard中执行此操作)或
  • 有没有办法重现编辑按钮在代码中的作用,以便我可以在Storyboard中自定义它?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

有一种方法可以自定义从viewDidLoad行获得的编辑按钮。您很接近,我只是将这些属性组合在一起并使用了NSForegroundColorAttributeName而不是NSStrokeColorAttributeName

let attributes = [NSFontAttributeName:UIFont(name: "HelveticaNeue-Thin", size: 19)!, NSForegroundColorAttributeName:UIColor.whiteColor()]
self.editButtonItem().setTitleTextAttributes(attributes, forState: .Normal)
self.navigationItem.rightBarButtonItem = self.editButtonItem()