Swift 拡張UIクラスのイニシャライザ


プログラムからのインスタンス作成時とxib load時の2つのイニシャライザを定義しておくと両方のIFから利用できるオブジェクトとなる。

class MyUILabel: UILabel {
    //storyboardに配置したオブジェクトも動作するのだが、storyboard上の設定で上書きされるので実質意味をなさない
    override init(frame: CGRect) {
        super.init(frame: frame)
        layer.cornerRadius = 5
        clipsToBounds = true
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    
    //xibからのload完了時に動作する
    override func awakeFromNib() {
        super.awakeFromNib()
        layer.cornerRadius = 5
        clipsToBounds = true
    }
}