【发布时间】:2018-06-27 20:20:11
【问题描述】:
我试图通过传递一组点在一个循环中绘制多个点。但没有一个点被绘制在视图上。想法 - 我正在解析 xml 文档并提取点以将其绘制在视图上。
Edit - I have updated the code with suggested changes and it is working.
//View Class
class DrawTrace: UIView
{
var points = [CGPoint]()
{
didSet {
setNeedsDisplay()
}
}
override func draw(_ rect: CGRect)
{
let size = CGSize(width: 1, height: 1)
UIColor.white.set()
for point in points
{
print(point.x,point.y)
let dot = UIBezierPath(ovalIn: CGRect(origin: point, size: size))
dot.fill()
}
}
}
//View Controller Class
class ViewController: UIViewController
{
var object : traceDoc = traceDoc()
let trace = DrawTrace(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
override func viewDidLoad()
{
super.viewDidLoad()
object.collectionOfData()
trace.points = object.tracePoints
self.view.addSubview(trace)
}
}
将视图实例添加到视图控制器中的视图层次结构。创建 DrawTrace 实例并附加到跟踪点数组。
【问题讨论】:
-
在哪里添加
trace到视图层次结构中? -
我忘记将视图实例添加到视图层次结构中。我感谢您的帮助。谢谢
标签: ios swift core-graphics uibezierpath