6

たとえば、サブクラス化してデフォルトUIButtonでフォントを設定したいと20.0fします。私はこのようなものを書くことができます:

@IBDesignable

class HCButton: UIButton {
  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.customInit()
  }

  func customInit () {
    titleLabel?.font = UIFont.systemFontOfSize(20)
  }
} 

ただし、これはInterface Builderのプレビューには影響しません。すべてのカスタム ボタンは15.0fデフォルトでフォント サイズで表示されます。何かご意見は?

4

3 に答える 3

4

私は次のように新しいものを作成しましIBInspectabletestFonts:

import UIKit

@IBDesignable

class CustomButton: UIButton {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.customInit()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.customInit()
    }

    func customInit () {
        titleLabel?.font = UIFont.systemFontOfSize(20)
    }

    convenience init() {
        self.init(frame:CGRectZero)
        self.customInit()
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        self.customInit()
    }

    override func prepareForInterfaceBuilder() {
        super.prepareForInterfaceBuilder()
        self.customInit()
    }
}

それがあなたを助けることを願っています:)

これは私のために働いています。

于 2015-08-13T13:34:07.627 に答える
0

EASIER:通常、次の解決策が機能するか、私

import UIKit

@IBDesignable
class CustomButton: UIButton {
    open override func layoutSubviews() {
        super.layoutSubviews()
        customInit()
    }

    func customInit () {
        titleLabel?.font = UIFont.systemFontOfSize(20)
    }
}

それがあなたが探しているものであることを願っています。

于 2019-02-06T12:03:27.560 に答える