<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      iOS 實現視圖指定圓角

      需求

      • 可以設置單獨設置視圖的某個圓角
      • 可以設置幾個指定的圓角
      • 可以設置是否繪制邊框、邊框寬度

      實現原理

      使用貝塞爾曲線實現

      代碼

      由于不是很復雜,所以就直接貼上代碼

      import UIKit
      
      @IBDesignable
      public class CornerView: UIView {
      
          @IBInspectable public var drawBorder: Bool = false
          @IBInspectable public var borderWidth: CGFloat = 1.0
          @IBInspectable public var topCornerRadius: CGFloat = 10.0
          @IBInspectable public var topLeft: Bool = false
          @IBInspectable public var topRight: Bool = false
          @IBInspectable public var bottomLeft: Bool = false
          @IBInspectable public var bottomRight: Bool = false
          
          public override init(frame: CGRect) {
              super.init(frame: frame)
          }
          
          public required init?(coder: NSCoder) {
              super.init(coder: coder)
          }
          
          public override func draw(_ rect: CGRect) {
              super.draw(rect)
              
              var corners: UInt = 0
              if self.topLeft == true {
                  corners = corners | UIRectCorner.topLeft.rawValue
              }
              
              if self.topRight == true {
                  corners = corners | UIRectCorner.topRight.rawValue
              }
              
              if self.bottomRight == true {
                  corners = corners | UIRectCorner.bottomRight.rawValue
              }
              
              if self.bottomLeft == true {
                  corners = corners | UIRectCorner.bottomLeft.rawValue
              }
              
              let topCorner: UIRectCorner = UIRectCorner(rawValue: corners)
              
              // 繪制圓角
              let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: topCorner, cornerRadii: CGSize(width: self.topCornerRadius, height: self.topCornerRadius))
              let maskLayer = CAShapeLayer()
              
              maskLayer.frame = self.bounds
              maskLayer.path = path.cgPath
              
              if drawBorder == true {
                  // 繪制邊框
                  UIBezierPath.drawRightTopCornerBorder(width: self.width, cornerRadius: self.topCornerRadius, lineWidth: self.borderWidth, cornerColor: .white)
                  UIBezierPath.drawLeftTopCornerBorder(cornerRadius: self.topCornerRadius, lineWidth: self.borderWidth, cornerColor: .white)
              }
              
              self.layer.mask = maskLayer
          }
          
          public override func layoutSubviews() {
              super.layoutSubviews()
          }
          
      }

       

      posted @ 2024-07-04 14:55  sims  閱讀(53)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 99视频在线精品国自产拍| 国产亚洲综合一区二区三区| 精品一区二区成人码动漫| 中文字幕一区二区网站| 美欧日韩一区二区三区视频| 国产免费午夜福利片在线| 少妇久久久被弄到高潮| 久久中文字幕一区二区| 在线精品国产中文字幕| 日韩精品国内国产一区二| 久久精品国产亚洲AⅤ无码| 国产av国片精品一区二区| 90后极品粉嫩小泬20p| 疯狂做受XXXX高潮国产| 久久亚洲私人国产精品| 男人的天堂av一二三区| 日本一道本高清一区二区| 永久免费av网站可以直接看的| 国产精品成人一区二区三| 国产精品天堂蜜av在线播放| 99精品日本二区留学生| 国产熟女50岁一区二区| 男人j进入女人j内部免费网站| 亚洲另类激情专区小说图片| 4480yy亚洲午夜私人影院剧情| 国产成人精彩在线视频50| 精品无码国产污污污免费| 久久亚洲色www成人| a级国产乱理伦片在线观看al| 国产旡码高清一区二区三区| 免费A级毛片无码A∨蜜芽试看 | 中国女人大白屁股ass| 国产成人精品一区二区秒拍1o| 久久夜色精品国产亚洲a| 玖玖在线精品免费视频| 免费国产高清在线精品一区| 久久精品夜色国产亚洲av| 蜜桃av无码免费看永久| 国产亚洲精品超碰热| 99riav国产精品视频| 亚洲熟妇丰满多毛xxxx|