UIBezierPath-Анимационная Заливка
У меня есть UIBezierPath (круг), построенный постепенно с:
[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];
иногда я хотел бы анимировать заливку, чтобы она заняла секунду, чтобы полностью заполнить и следовать пути, как он был построен (по часовой стрелке). Каков предпочтительный метод достижения этой цели? Прямо сейчас я думаю о базовой анимации, но я надеюсь, что есть заполнение:withDelay или некоторые такие, на которые я не наткнулся. ТИА.
1 ответов
вы можете попробовать это:
создайте CAShapeLayer, чей path
устанавливается в вашу форму. Используйте этот CAShapeLayer как маску для другого слоя, в который вы рисуем дуги/круг. Затем анимируйте угол дуги/окружности от 0º до 360º. Это может приблизить эффект, который вы хотите.
Я не могу найти "встроенный" способ анимировать заполнить, как вы хотите. Существует встроенный способ оживить ход, однако:
используйте UIView с CAShapeLayer, поддерживающим его. CAShapeLayer имеет path
собственность. Затем вы можете применить анимацию к strokeStart
и/или strokeEnd
свойства.