【发布时间】:2020-06-01 21:25:51
【问题描述】:
我希望用户在自定义 UIView 上使用 clearcolor 作为描边颜色。该代码适用于其他颜色但不是清晰的颜色。
override func draw(_ rect: CGRect) {
guard let context = UIGraphicsGetCurrentContext() else { return }
context.addRect(rect)
draw(inContext: context)
}
func draw(inContext context: CGContext) {
context.setLineWidth(5)
context.setStrokeColor(UIColor.clear.cgColor)
context.setLineCap(.round)
for line in lineArray {
guard let firstPoint = line.first else { continue }
context.beginPath()
context.move(to: firstPoint)
for point in line.dropFirst() {
context.addLine(to: point)
}
context.strokePath()
}
}
【问题讨论】:
-
不工作是什么意思?你希望/期待什么结果?在我看来,您的代码非常适合以清晰的颜色绘制。我看到它做的正是我认为它应该做的。你呢?
-
我有一个图像视图和它上面的一个视图,即这个自定义视图。当用户在自定义 view.stroke 上绘制时,颜色应该是清晰的。视图和图像视图应该是可见的。我无法用上面的代码做到这一点
-
我听不懂那些话。你能画出你的期望吗?
-
我已经更新了我的问题。我想要清晰的颜色而不是黑线,这样我就可以看到它下面的图像视图。 (imageview 已经在它下面了。)
-
用清晰的颜色绘图不会让任何人“看到”任何东西。恰恰相反:很明显,这意味着不可见。同样,不清楚您的期望。听起来您认为您想将前视图用作 隐藏 图像视图的 mask,并且希望在用户绘制的任何位置显示它。真的吗?如果是这样,这似乎不是你在做什么。
标签: ios swift core-graphics cgcontext