更改所有UIButton字体

oop*_*psi 10 uibutton ios

我一直在寻找接近2个小时,但找不到这个问题的可靠答案.

我试图使用外观机制,但似乎你不能用它改变字体.

我看过这里建议的答案: 如何将所有UIButton字体更改为自定义字体

有3个答案:

  1. 使用buttonOutlet,但这需要一个数组,整个项目中的所有按钮都链接到该数组.
  2. 使用类别,但从我读到的内容非常不鼓励使用类别来覆盖现有方法.
  3. 使用从UIButton派生的自定义类,但是当我尝试使用提供的类并在界面生成器中设置它时,没有任何反应,这使我相信您需要按比例添加按钮.

编辑:如果您实现 - (id)initWithCoder:(NSCoder*)uibutton的aDecoder方法,则回答3这使您可以简单地更改界面构建器中的类,但仍需要为项目中的所有按钮执行此操作.

有没有人有任何新想法?

Roh*_*ale 6

在Swift3中

UIButton.appearance().titleLabel?.font = font
Run Code Online (Sandbox Code Playgroud)


Osc*_*and -1

for (UIButton *button in self.view.subviews) {
        if ([button isKindOfClass:UIButton.class]) {
            button.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Thin" size:14.0f];
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果您无法使链接的问题发挥作用,则可以使用。