我需要在单一背景色ios - 如何在单个UIView中添加3种背景色?-LMLPHP中添加三种颜色

不使用3 UIView或图像。

最佳答案

在func下面使用

func addSublayers (_ viewCustom : UIView){
    let layer1 = CAShapeLayer()
    let layer2 = CAShapeLayer()
    let layer3 = CAShapeLayer()

    layer1.frame = CGRect(origin: viewCustom.bounds.origin,
                          size: CGSize(width: viewCustom.frame.size.width/3,
                                       height: viewCustom.frame.size.height))

    layer2.frame = CGRect(x: layer1.frame.size.width,
                          y: layer1.frame.origin.y,
                          width: viewCustom.frame.size.width/3,
                          height: viewCustom.frame.size.height)

    layer3.frame = CGRect(x: layer2.frame.size.width + layer2.frame.origin.x,
                          y: layer2.frame.origin.y,
                          width: viewCustom.frame.size.width/3,
                          height: viewCustom.frame.size.height)

    layer1.backgroundColor =  UIColor.red.cgColor
    layer2.backgroundColor = UIColor.green.cgColor
    layer3.backgroundColor = UIColor.blue.cgColor

    viewCustom.layer.addSublayer(layer1)
    viewCustom.layer.addSublayer(layer2)
    viewCustom.layer.addSublayer(layer3)
}


输出:

ios - 如何在单个UIView中添加3种背景色?-LMLPHP

10-06 11:30