サブビューとしてを持つカスタム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)
}
}
// ...
}
ユーザーがフォント サイズの値を設定すると、これは正常に機能します。
ただし、ユーザーが新しいカスタム ビューを追加しただけでは、フォント サイズは空白になります。
ここでの回答は、Swift で計算されたプロパティのデフォルトを持つことは意味がないと言っていますが、Interface Builder のデフォルトが必要な場合はどうすればよいでしょうか? 「17」とか言ってほしいです。私は何をすべきか?