Анимация iOS в DrawRect () - PullRequest
       3

Анимация iOS в DrawRect ()

1 голос
/ 01 декабря 2010

Я пытаюсь анимировать рисунки CGContext в методе drawRect представления.

Фрагмент кода

//Initial Attempt

[UIView animateWithDuration:10
 animations:^{
         CGRect marker = CGRectMake(leftLineX-5.0, yCoord-5.0, 10.0, 10.0);
          CGContextSetStrokeColorWithColor(c, _barColor.CGColor);
          CGContextSetFillColorWithColor(c, _labelColor.CGColor);
          CGContextFillEllipseInRect(c, marker);
          CGContextStrokeEllipseInRect(c, marker);
     }];

//Next approach

CGRect marker = CGRectMake(255.0, 255.0, 10.0, 10.0);
UIView * markerView = [[UIView alloc] initWithFrame:marker];
[self addSubview:markerView];

CGContextAddEllipseInRect(c, marker);
CGContextSetStrokeColorWithColor(c, [UIColor redColor].CGColor);
CGContextSetFillColorWithColor(c, [UIColor blueColor].CGColor);
CGContextFillEllipseInRect(c, marker);
CGContextStrokeEllipseInRect(c, marker);

[UIView animateWithDuration:3 animations:^{
    markerView.alpha = 0.0;
    [markerView setNeedsDisplay];
}]; 

Что я знаю

Я думаю, что поскольку контекст рисуется в текущем представлении drawRect, возможно, UIView не знает о сделанных изменениях.Как лучше всего подойти к этой ситуации?Я хотел бы избежать подклассов, если это возможно.

1 Ответ

0 голосов
/ 28 января 2011

Если кому-то было интересно, правильным подходом было бы создать здесь подкласс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...