0
말발굽 모양의 CAGradientLayer를 생성하고 있습니다. 그것은 경로를 복용하지 않는 것 같아요 그냥 그림자와 사각형을 그립니다. 내가 뭘 놓치고 있니?CAGradientLayer가 도형을 얻지 못합니다
let gradientLayerContainer = CAShapeLayer()
let gradient = CAGradientLayer()
let segmentGradientPath = UIBezierPath.horseshoe(
center: centerPoint,
innerRadius: (bounds.width/2) - config.ringWidth,
outerRadius: bounds.width/2,
startAngle: segmentTapped.startAngle,
endAngle: segmentTapped.endAngle)
gradientLayerContainer.fillColor = UIColor.clear.cgColor
gradientLayerContainer.path = segmentGradientPath.cgPath
let end = centerPoint
let start = centerPoint.shifted(outerRadius, with: segmentTapped.centerAngle)
gradient.startPoint = CGPoint(x: start.x/bounds.width, y: start.y/bounds.height)
gradient.endPoint = CGPoint(x: end.x/bounds.width, y: end.y/bounds.height)
gradient.colors = [UIColor.white.withAlphaComponent(0.0).cgColor, UIColor.white.cgColor]
gradient.frame = segmentGradientPath.bounds
gradient.mask = gradientLayerContainer
gradient.locations = [0, 1]
horseshoeLayer.addSublayer(gradientLayerContainer)
gradientLayerContainer.insertSublayer(gradient, at: 0)
최고, 당신은 짝짓기 감사합니다 :
다음은 올바른 계층 구조의 놀이터 예입니다! –