Swift로 UIImage에서 이중 경계선을 만드는 방법은 무엇입니까?

Dec 04 2020

저는 Swift에서 "이중 테두리"트릭을 찾아서 이렇게 만들려고했습니다. UIImage의 "이중 테두리"와 같은 느낌이 듭니다.

코드를 알고 있으면 알려주세요. :)

답변

1 AJ16 Dec 04 2020 at 14:27

UIView를 가져와 그 안에 UIImageView를 추가 할 수 있습니다. 지울 UIView의 색상을 지 웁니다.

이것이 제가 스토리 보드를 사용하여 한 것입니다.

  1. 그 안에 UIView와 UIImageView를 추가하고, 뷰의 색상은 클리어로 설정하고 이미지 뷰는 모든면에서 15 포인트에 있습니다. 귀하의 요구 사항에 따라 변경하십시오 (이미지 1 참조).

  2. 이것은 뷰 컨트롤러 코드입니다 (이미지 2 참조).

  3. 출력 (그림 3 참조).

참고 : 요구 사항에 따라 색상 및 테두리 너비 등을 변경할 수 있지만 기본 아이디어입니다.

스토리 보드 레이아웃

컨트롤러 코드보기

산출

2 SumitJain Dec 04 2020 at 11:55

UIImageView의 기본 레이어에 borderColor (black) 및 cornerRadius를 추가해야합니다. 이와 함께 borderColor가 회색 인 UIImageView에 다른 하위 레이어를 추가해야합니다.

imageView.layer.borderWidth = 4.0
imageView.layer.borderColor = UIColor.gray.cgColor
imageView.layer.cornerRadius = imageView.frame.width / 2

let borderLayer = CALayer()
borderLayer.frame = imageView.bounds
borderLayer.borderColor = UIColor.black.cgColor
borderLayer.borderWidth = 14.0
borderLayer.cornerRadius = borderLayer.frame.width / 2
imageView.layer.insertSublayer(borderLayer, above: imageView.layer)

첨부 된 플레이 그라운드 데모를 참조하십시오.

PeterDu Dec 04 2020 at 11:09

UIImageView와 UIImage 사이에 서브 뷰로 1 개의 원 (UIView)을 추가 할 수 있다고 생각합니다. 예를 들어 gray외부 cornerRadius 의 색상으로 UIImageView를 초기화 할 수 있습니다 . 그런 다음 원 UIView를 추가하고 마지막으로 UIImage를 추가합니다.

또는 대안은 원 UIView 앞에 UIImage를 추가하는 것입니다 (투명한 배경 포함).

여기에서 비슷한 코드를 찾을 수 있다고 생각합니다. Image View Double Border