子类 UITextField 在使用大小 类 和自定义字体时覆盖字体

Subclass UITextField to override font when using size classes with custom font

我正在尝试子类化 UITextField,以便根据这个问题的答案正确设置字体:Custom Font Sizing in XCode6 Size Classes Not Working Properly w/ Custom Fonts

我有一个带有自定义字体的文本字段,当我使用大小 类 时,我在我的应用程序中丢失了所有自定义字体。它们默认为系统。

我已经尝试对 UITextField 做同样的事情,就像对 UILabel 所建议的那个问题的答案一样,但我并不高兴。

我的子类:

import Foundation
import UIKit

class CustomUITextField: UITextField {

    override func layoutSubviews() {
        super.layoutSubviews()
        self.font = UIFont(name: "Score Board", size: self.font!.pointSize)
    }

}

原来这是一个真的奇怪的错误。它 可以 工作,前提是你的故事板上有一个元素没有设置为 System 字体,但设置为你的 custom 字体.

我的解决方法是放入一个不可见的标签,该标签 不是 使用我的子类但设置为 Interface Builder 中的自定义字体。现在,我在 Interface Builder 中设置为 System 的所有其他字体在我的自定义 类 中被正确覆盖。

谢谢,Apple!