мне нужно сделать вид, какКак сделать круговой UIView с угловым градиентом
это круглое сегмент, который должен иметь угловой градиент и округлые шапки.
мне нужно сделать вид, какКак сделать круговой UIView с угловым градиентом
это круглое сегмент, который должен иметь угловой градиент и округлые шапки.
Вот как я буду заниматься этим.
Создать CALayer
нарисовать свой 'фон' для загрузчика. К сожалению, нет встроенного способа создания градиента угла в Core Animation или Core Graphics. Вам придется либо использовать линейный градиент с CAGradientLayer
, либо посмотреть на AngleGradientLayer.
Создайте CAShapeLayer
, чтобы определить круговую дугу. Затем вы захотите создать путь дуги, используя метод +bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:
. Затем вы можете назначить этот путь для свойства CAShapeLayer
path
.
Затем вы хотите настроить поглаживание CAShapeLayer
. Вы хотите установить lineWidth
на ширину вашего хода и установить lineCap
на kCALineCapRound
.
Присвойте CAShapeLayer
mask
имущество вашего фона CALayer
. Это замаскирует «фон» вашего загрузчика на поглаженный путь.
Добавить фон CALayer
as a sublayer к UIView
«s layer
. (Или создать подкласс UIView
и CALayer
и return your custom layer class в +layerClass
методе представления)
Animate с использованием CABasicAnimation
из strokeStart
и strokeEnd
свойства на CAShapeLayer
.
Я сделал что-то подобное, используя класс UIBezierPath. В частности, функция addArcWithCenter:
let line = UIBezierPath()
line.addArcWithCenter(centerPoint, radius: curveRadius, startAngle: startAngle, endAngle: endAngle, clockwise: true)
color.setStroke()
line.stroke()
Centerpoint, curveRadius, StartAngle и endAngle все готово заранее.
Цвет UIColor и используется, чтобы дать цвет линии.
Не могли бы вы показать нам, что вы попробовали? – Breek