Storyboard에서 UIView의 테두리, 모서리, 그림자를 설정하는 Extension

컨디션

  • Xcode 12.4
  • Swift 5
  • UIView의 Extension


    설정@IBInspectable의 모방을 통해 사용자 정의 속성을 추가할 수 있습니다.
    import UIKit
    
    extension UIView {
    
      // MARK: Utility
    
      /// 枠線の色
      @IBInspectable var borderColor: UIColor? {
        get {
          layer.borderColor.map { UIColor(cgColor: $0) }
        }
        set {
          layer.borderColor = newValue?.cgColor
        }
      }
    
      /// 枠線のWidth
      @IBInspectable var borderWidth: CGFloat {
        get {
          layer.borderWidth
        }
        set {
          layer.borderWidth = newValue
        }
      }
    
      /// 角丸の大きさ
      @IBInspectable var cornerRound: CGFloat {
        get {
          layer.cornerRadius
        }
        set {
          layer.cornerRadius = newValue
          layer.masksToBounds = newValue > 0
        }
      }
    
      /// 影の色
      @IBInspectable var shadowColor: UIColor? {
        get {
          layer.shadowColor.map { UIColor(cgColor: $0) }
        }
        set {
          layer.shadowColor = newValue?.cgColor
          layer.masksToBounds = false
        }
      }
    
      /// 影の透明度
      @IBInspectable var shadowAlpha: Float {
        get {
          layer.shadowOpacity
        }
        set {
          layer.shadowOpacity = newValue
        }
      }
    
      /// 影のオフセット
      @IBInspectable var shadowOffset: CGSize {
        get {
          layer.shadowOffset
        }
        set {
          layer.shadowOffset = newValue
        }
      }
    
      /// 影のぼかし量
      @IBInspectable var shadowRadius: CGFloat {
        get {
          layer.shadowRadius
        }
        set {
          layer.shadowRadius = newValue
        }
      }
    }
    
    Storyboard 검사기에서 다음과 같이 사용할 수 있습니다.👏

    좋은 웹페이지 즐겨찾기