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

时间:2015-08-11 00:49:27

标签: ios xcode interface-builder default-value 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)
        }
    }

    // ...
}

如果用户为字体大小设置值,则此方法可以正常工作:

enter image description here

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

enter image description here

The answers here说在Swift中有一个计算属性的默认值是没有意义的,但是如果我想要一个Interface Builder的默认值怎么办?我想说“17”或其他什么。我该怎么办?

0 个答案:

没有答案
相关问题