gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 19:27:09 27 4
gpt4 key购买 nike

我需要在单一背景色中添加三种颜色Just like that

不使用 3 个 UIView 或图像。

最佳答案

创建自定义 UIView 并覆盖 draw(_:) 函数。然后使用当前的 CGContext 并根据您喜欢的大小进行绘制。基于给定图像对齐的示例如下所示:

class CustomView: UIView {
override func draw(_ rect: CGRect) {
super.draw(rect)
guard let context = UIGraphicsGetCurrentContext() else {
return
}

let firstRect = CGRect(origin: CGPoint(x: rect.origin.x, y: rect.origin.y), size: CGSize(width: rect.size.width / 3, height: rect.size.height))
let middleRect = CGRect(origin: CGPoint(x: firstRect.maxX, y: rect.origin.y), size: CGSize(width: rect.size.width / 3, height: rect.size.height))
let lastRect = CGRect(origin: CGPoint(x: middleRect.maxX, y: rect.origin.y), size: CGSize(width: rect.size.width / 3, height: rect.size.height))

let arrayTuple: [(rect: CGRect, color: CGColor)] = [(firstRect, UIColor.red.cgColor), (middleRect, UIColor.green.cgColor), (lastRect, UIColor.blue.cgColor)]
for tuple in arrayTuple {
context.setFillColor(tuple.color)
context.fill(tuple.rect)
}
}
}

关于ios - 如何在单个 UIView 中添加 3 种背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com