CABasicAnimation – настройка положения начала хода

Я оживляю рисунок основного круга. Это прекрасно работает, за исключением того, что анимация начинает рисовать в позиции 3 часа. Кто-нибудь знает, как я могу начать его в 12 часов?

self.circle = [CAShapeLayer layer]; self.circle.fillColor = nil; self.circle.lineWidth = 7; self.circle.strokeColor = [UIColor blackColor].CGColor; self.circle.bounds = CGRectMake(0, 0, 200, 200); self.circle.path = [UIBezierPath bezierPathWithOvalInRect:self.circle.bounds].CGPath; [self.view.layer addSublayer:self.circle]; CABasicAnimation *drawAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; drawAnimation.duration = 5.0; drawAnimation.repeatCount = 1.0; drawAnimation.removedOnCompletion = NO; drawAnimation.fromValue = [NSNumber numberWithFloat:0.0f]; drawAnimation.toValue = [NSNumber numberWithFloat:1.0f]; drawAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; [self.circle addAnimation:drawAnimation forKey:@"drawCircleAnimation"]; 

One Solution collect form web for “CABasicAnimation – настройка положения начала хода”

Вы можете использовать bezierPathWithArcCenter вместо bezierPathWithOvalInRect , поскольку это позволяет указать начальный и конечный угол:

 CGFloat radius = self.circle.bounds.size.width/2; // Assuming that width == height self.circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(radius, radius) radius:radius startAngle:(-M_PI/2) endAngle:(3*M_PI/2) clockwise:YES].CGPath; 

См. Документацию bezierPathWithArcCenter для определения значений углов.

  • CAShapeLayer и UIImage
  • Позиции CAShapeLayer strokeStart и strokeEnd
  • Как перерисовать CAShapeLayer при изменении пути?
  • iOS - простой способ рисования круга с использованием CAShapeLayer
  • Оптимизация линий рисования, возможные альтернативы CAShapeLayer
  • Анимация рисования заливки CAShapeLayer
  • Как нарисовать обнаруженный путь прямоугольника на канале живой камеры, используя CAShapeLayer и UIBezeirPath
  • Как нарисовать дугу с изогнутым краем в iOS?
  • Как дать cornerRadius для UIBezierPath
  • начальный и конечный угол UIBezierPath?
  • Маска UIView с вырезанным кругом
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.