2017-11-01 4 views
0

丸みを帯びたコーナーのプロファイル画像を使用する場所はたくさんあります。そして、毎回書くのではなく、UIImageViewラウンドコーナーの継承

私はUIImageViewを継承する自分のクラスを作成することにしました。 init関数で そして追加のコーナーは

class UISlProfileImageView: UIImageView { 
    override init(image: UIImage?){ 
     super.init(image:image) 
     roundCorner() 
    } 

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

extension UISlProfileImageView{ 
    func roundCorner(){ 
     self.layer.cornerRadius = self.frame.size.width/8; 
     self.clipsToBounds = true 
    } 
} 

問題は、私がUISlProfileImageViewにストーリーボードに適切な画像を変更した後、ラウンドcorenersがdiappearedということです。あなたが私に助言してください、私が間違っていることを教えてください。私は新しいクラスのinitにブレークポイントを入れて、それが不思議にそこに止まらなかった。

答えて

4

layoutSubviews()メソッドをオーバーライドし、そのメソッド内でroundCorner()を呼び出す必要があります。このような

override func layoutSubviews() { 
    super.layoutSubviews() 

    roundCorner() 
} 
+0

などありがとうございました!!できます! – andrii