Моя цель состоит в том, чтобы получить фигуры, которые я могу перетаскивать вокруг вида, но сначала я пытаюсь выяснить, является ли это правильным способом установки рамки так, чтобы рамка CAShapeLAyer's
не все нули, и поэтому я могу позже перетащитьэто с событиями касания.
Ниже приведен код в моем классе (DrawOVerlay - DO), который используется для UIView
на моем Viewcontroller
:
private func drawArc(user c: CGContext) {
c.setLineCap(.round)
c.setLineWidth(35.0)
c.addArc(center: CGPoint(x:187.5,y:200), radius: 90.0, startAngle: -0.5 * .pi, endAngle: (-0.5 * .pi) + (3 / 2 * .pi ), clockwise: false)
c.replacePathWithStrokedPath()
let shape = CAShapeLayer()
shape.frame = bounds
shape.path = c.path
shape.fillColor = UIColor.red.cgColor
shape.strokeColor = UIColor.darkGray.cgColor
shape.lineWidth = 1
print("DO Bounds before:\(String(describing: shape.bounds))")
print("DO Frame before:\(String(describing: shape.frame))")
print("DO BoundingBox:\(String(describing: shape.path?.boundingBox))")
shape.bounds = (shape.path?.boundingBox)!
print("DO Bounds after:\(String(describing: shape.bounds))")
print("DO Frame Width:\(String(describing: shape.frame))")
self.layer.addSublayer(shape)
}
.давая мне правильные координаты для фигур bounds
и frame
, но я новичок в Swift и не уверен, что это правильный способ сделать это.
И затем, как мне использовать этоинформация о событиях касания для перетаскивания слоя формы без мерцания?