gpt4 book ai didi

ios - 在 imageView 顶部绘制背景清晰的矩形

转载 作者:行者123 更新时间:2023-11-30 11:58:27 26 4
gpt4 key购买 nike

我正在尝试在 imageView 顶部绘制一个具有随机边框颜色和清晰背景的矩形。我需要循环遍历一组坐标并向图像添加适当的矩形。我无法使矩形背景颜色变得清晰。代码如下:

//绘制类

class Draw: UIView {

override init(frame: CGRect) {
super.init(frame: frame)
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

override func draw(_ rect: CGRect) {
let h = rect.height
let w = rect.width
let color:UIColor = Palette.getRandomColour()

//var drect = CGRect(x: (w * 0.25),y: (h * 0.25),width: (w * 0.5),height: (h * 0.5))
let drect = CGRect(x: rect.minX ,y: rect.minY , width: w, height: h)
let bpath:UIBezierPath = UIBezierPath(rect: drect)
UIColor.clear.setFill()
color.set()
bpath.stroke()

print("it ran")

NSLog("drawRect has updated the view")
}
}

//在我的 viewDidLoad 中

for bp in sbp {
if let master = Bodyparts.getID(bp.masterid) {
let width = master.x2 - master.x1
let height = master.y2 - master.y1
let k = Draw(frame: CGRect(origin: CGPoint(x: master.x1, y: master.y1), size: CGSize(width: width, height: height)))
self.imgView.addSubview(k)
}
}

最佳答案

您需要将背景设置为清晰。这是一个您可以复制和粘贴的 Playground :

import PlaygroundSupport
import UIKit

class Draw: UIView {

override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .clear
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

override func draw(_ rect: CGRect) {
let h = rect.height
let w = rect.width
let color:UIColor = .red
let drect = CGRect(x: rect.minX ,y: rect.minY , width: w, height: h)
let bpath:UIBezierPath = UIBezierPath(rect: drect)
UIColor.clear.setFill()
color.set()
bpath.stroke()
}
}
let d = Draw(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view.backgroundColor = .green
view.addSubview(d)
PlaygroundPage.current.liveView = view

关于ios - 在 imageView 顶部绘制背景清晰的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47528044/

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