UIBezierPath로 각을 둥글게 만들어주세요.

4927 단어 SwiftiOS
각환을 총결산해 보았다.

UIBezierPath의 clip을 사용하여 필렛 만들기


UIView를 계승한 Clip Rounded Corner View를 제작해 이미지를 그렸다.
import UIKit

class RoundedCornersView: UIView {

    override func drawRect(rect: CGRect) {
        UIBezierPath(roundedRect: self.bounds, cornerRadius: CGRectGetHeight(self.bounds) / 2).addClip()
        UIImage(named: "rocket")?.drawInRect(self.bounds)
    }
}

UIBezierPath 및 UIView layer를 사용하여 필렛 만들기


이것도 UIView를 두 종류로 나누어 만든 것이다.
import UIKit

class LayerRoundedCornersView: UIView {

    override func drawRect(rect: CGRect) {
        UIImage(named: "rocket")?.drawInRect(self.bounds)

        let maskPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: CGRectGetWidth(self.bounds) / 2)
        let maskLayer = CAShapeLayer()
        maskLayer.path = maskPath.CGPath
        self.layer.mask = maskLayer;
    }
}

UIStoryboard


이번에는 UIStoryboard에 놓인 UIView의 학급을 지정해 화면에 표현했다.

실행 결과



샘플 코드

  • morizotter/MZRUIBezierPathRoundedCornersSample
  • 참고 자료

  • Applying Rounded Corners - Cocoahope Articles
  • iOS-cornerRadius를 한면으로만 작동(UIView의 일부만 각환으로 설정) - Qiita
  • 좋은 웹페이지 즐겨찾기