Things take time

[SWIFT] UIImageView를 원 형(Circle) 만들기 본문

iOS (기능)

[SWIFT] UIImageView를 원 형(Circle) 만들기

겸손할 겸 2018. 2. 26. 13:39

[코드]

            
            cell.userImageView.layer.cornerRadius = cell.userImageView.frame.height/2
            cell.userImageView.layer.borderWidth = 1
            cell.userImageView.layer.borderColor = UIColor.clear.cgColor
            // 뷰의 경계에 맞춰준다
            cell.userImageView.clipsToBounds = true
            

ImageView.layer에 있는 속성 값들을 변경한다. clipsToBounds는 이전에 지정한 뷰의 경계선에 이미지를 맞출 것인지에 대한 Bool 값이다.


[참고]

이미지 뷰의 layer에는 maskToBounds라는 Bool로 Set하는 함수가 있다.

이 함수를 True로하게 되면, 이 후에 이 이미지에 들어가는 서브 컴포넌트들은 부모를 따라간다는 것이다.


예를 들어, 위의 코드에서 cornerRadius로 모서리 값을 준 이미지뷰에 addSubView로 뷰 하나를 이미지 뷰 밑에 넣는다 가정하면, 추가된 뷰는 하단에서 모서리를 갖고 있지 않고 네모 정사각형을 갖게 된다. 부모 이미지뷰가 모서리 값을 갖고 있는데도 불구하고 말이다.


이때, 부모 뷰에서 cornerRadius에서 값을 할당한 후에 layer.maskToBounds = true를 해준 뒤에 addSubView를하게 되면, 이후 추가된 뷰도 부모 뷰의 모서리 모양을 따라 들어가게 된다.