我使用具有共同半径的贝塞尔曲线路径创建了不同的弧,然后将这些图层添加到数组中。我试图通过使用for循环一起旋转所有弧,但是我无法做的是旋转整个圆(由弧组成),我知道使它们动起来的方法,但是动画会恢复到其原始位置。我对旋转圆圈感到困惑。
这是我的圈子的样子:
例如,如果我触发一个动作(点击按钮),它应该将图层整体旋转一定程度。
我搜索了关于stackoverflow的答案,但是大多数答案都不精确,其中一些答案是在目标C中。在我无法使用图层之前,该问题已得到解决,现在各层是交互式的。在点击图层时,我尝试旋转整个图层阵列,但结果始终是不同的。圆圈在UIView内。
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapDetected(tapRecognizer:)))
self.addGestureRecognizer(tapRecognizer)
@objc public func tapDetected(tapRecognizer:UITapGestureRecognizer) {
let tapLocation:CGPoint = tapRecognizer.location(in: self)
self.hitTest(tapLocation: CGPoint(x: tapLocation.x, y: tapLocation.y))
}
private func hitTest(tapLocation:CGPoint) {
for customLayer in layerArray {
if customLayer.path?.contains(tapLocation) == true {
print("Rotate It")
} else {
print("Do Nothing")
}
}
}
如果有人可以举一个例子来解决我的问题,我将不胜感激。斯威夫特4