如何在 Xcode 的 Interface Builder 中设置计算属性的默认 IBInspectable 值

Sur*_*gch 5 xcode interface-builder default-value ios ibinspectable

我有一个自定义UIView类,其中有一个UILabel作为子视图。我想在 Interface Builder 中设置标签的字体大小,因此我创建了一个计算属性fontSize来获取和设置UILabel字体的磅值。

@IBDesignable class UIMongolLabel: UIView {

    private let view = UILabel()

    let mongolFontName = "ChimeeWhiteMirrored" // font is always the same

    @IBInspectable var fontSize: CGFloat {
        get {
            if let font = view.font {
                return font.pointSize
            } else {
                return 0.0
            }
        }
        set {
            view.font = UIFont(name: mongolFontName, size: newValue)
        }
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果用户设置字体大小的值,则效果很好:

在此输入图像描述

但如果用户只是添加一个新的自定义视图,则字体大小为空。

在此输入图像描述

这里的答案说,在 Swift 中为计算属性设置默认值是没有意义的,但是如果我想要 Interface Builder 的默认值怎么办?我想让它说“17”之类的。我应该怎么办?