加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 如何将UIView裁剪为半圆?

发布时间:2020-12-14 02:26:34 所属栏目:百科 来源:网络整理
导读:我想以半圆形状裁剪UIView 提前致谢. 一个方便的方法是UIView的子类,在它上面添加一个图层,如果默认情况下不是透明的话,使视图颜色透明. import UIKitclass SemiCirleView: UIView { var semiCirleLayer: CAShapeLayer! override func layoutSubviews() { su
我想以半圆形状裁剪UIView

提前致谢.

一个方便的方法是UIView的子类,在它上面添加一个图层,如果默认情况下不是透明的话,使视图颜色透明.
import UIKit

class SemiCirleView: UIView {

    var semiCirleLayer: CAShapeLayer!

    override func layoutSubviews() {
        super.layoutSubviews()

        if semiCirleLayer == nil {
            let arcCenter = CGPoint(x: bounds.size.width / 2,y: bounds.size.height / 2)
            let circleRadius = bounds.size.width / 2
            let circlePath = UIBezierPath(arcCenter: arcCenter,radius: circleRadius,startAngle: CGFloat.pi,endAngle: CGFloat.pi * 2,clockwise: true)

            semiCirleLayer = CAShapeLayer()
            semiCirleLayer.path = circlePath.cgPath
            semiCirleLayer.fillColor = UIColor.red.cgColor
            layer.addSublayer(semiCirleLayer)

            // Make the view color transparent
            backgroundColor = UIColor.clear
        }
    }    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读