5

サブビューとしてを持つカスタムUIViewクラスがあります。UILabelInterface 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)
        }
    }

    // ...
}

ユーザーがフォント サイズの値を設定すると、これは正常に機能します。

ここに画像の説明を入力

ただし、ユーザーが新しいカスタム ビューを追加しただけでは、フォント サイズは空白になります。

ここに画像の説明を入力

ここでの回答は、Swift で計算されたプロパティのデフォルトを持つことは意味がないと言っていますが、Interface Builder のデフォルトが必要な場合はどうすればよいでしょうか? 「17」とか言ってほしいです。私は何をすべきか?

4

0 に答える 0