【发布时间】:2017-04-06 15:11:10
【问题描述】:
我正在开发一个手写应用程序,我正在使用三个不同的 UIBezierPath 变量:
- [paths] - UIBezierPath 的数组
- temporaryPath - 帮助平滑
- realPath - 最终将添加到“路径”数组中的路径
我使用的是一组路径而不是单个路径,因为我有一个平移工具可以在屏幕上移动线条 - 所以它们需要是单独的实体。问题是每次调用 draw(:_) 时我都必须重绘整个数组:
override func draw(_ rect: CGRect) {
strokeColor.setStroke()
for path in paths{
path.stroke()
}
realPath?.stroke()
temporaryPath?.stroke()
}
这会在绘制大约 20 条路径后产生性能问题。每次调用 draw(:_) 时不重绘整个数组有什么解决办法吗?
【问题讨论】:
标签: uiview drawing uibezierpath cgpath setneedsdisplay