DrawRect()中的iOS动画

时间:2010-12-01 16:40:40

标签: iphone ipad ios ios4

我正在尝试在视图的drawRect方法中为CGContext绘图设置动画。

代码段

//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 :(得分:-3)

如果有人想知道,正确的方法是在这里继承。