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