AB
Size: a a a
AB
AB
b
AB
AB
b
collectionView.decelerationRate, попробую у себя где-то применить, можно медленнее/быстрее замедлять
AB
b
RA
AT
PS
PS
let shapeLayer = CAShapeLayer()
let center = CGPoint(x: myView.frame.width / 2, y: myView.frame.height / 2)
let radius = ([myView.frame.width, myView.frame.height].min()! / 2) - 5
let circularPath = UIBezierPath(arcCenter: center, radius: radius, startAngle: -CGFloat.pi, endAngle: CGFloat.pi, clockwise: true)
shapeLayer.path = circularPath.cgPath
shapeLayer.strokeColor = strokeColor
shapeLayer.fillColor = UIColor.clear.cgColor
shapeLayer.lineWidth = 10
shapeLayer.strokeEnd = 0.5
let gradient = CAGradientLayer()
gradient.colors = [UIColor(red: 1, green: 0, blue: 0, alpha: 1).cgColor, UIColor(red: 0, green: 1, blue: 0, alpha: 1).cgColor]
gradient.frame = circularPath.bounds
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 0)
gradient.mask = shapeLayer
myView.layer.addSublayer(gradient)
b
let shapeLayer = CAShapeLayer()
let center = CGPoint(x: myView.frame.width / 2, y: myView.frame.height / 2)
let radius = ([myView.frame.width, myView.frame.height].min()! / 2) - 5
let circularPath = UIBezierPath(arcCenter: center, radius: radius, startAngle: -CGFloat.pi, endAngle: CGFloat.pi, clockwise: true)
shapeLayer.path = circularPath.cgPath
shapeLayer.strokeColor = strokeColor
shapeLayer.fillColor = UIColor.clear.cgColor
shapeLayer.lineWidth = 10
shapeLayer.strokeEnd = 0.5
let gradient = CAGradientLayer()
gradient.colors = [UIColor(red: 1, green: 0, blue: 0, alpha: 1).cgColor, UIColor(red: 0, green: 1, blue: 0, alpha: 1).cgColor]
gradient.frame = circularPath.bounds
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 0)
gradient.mask = shapeLayer
myView.layer.addSublayer(gradient)
b
V
B
V
V
V