首页 > 解决方案 > 我们可以有一个圆角而不应用 masktobounds

问题描述

在不使用视图容器的情况下是否有可能为视图容器提供圆角masksToBounds = true

signup.layer.cornerRadius = 10
signup.layer.masksToBounds = false

标签: iosswiftuiview

解决方案


是的,您可以,但您可能必须编写以下代码:

    let containerView = UIView(frame: CGRect(x: 100.0, y: 100.0, width: 200.0, height: 200.0))
    containerView.backgroundColor = UIColor.clear

    let aPath = UIBezierPath(roundedRect: containerView.bounds, cornerRadius: 10.0)
    aPath.lineWidth = 1.0
    aPath.stroke()

    let layer = CAShapeLayer()
    layer.fillColor = UIColor.red.cgColor
    layer.strokeColor = UIColor.red.cgColor
    layer.path = aPath.cgPath

    containerView.layer.addSublayer(layer)

    self.view.addSubview(containerView)

推荐阅读