我正在尝试在视图的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可能不知道所做的更改。处理这种情况的最佳方法是什么?如果可能的话,我想避免继承。
答案 0 :(得分:-3)
如果有人想知道,正确的方法是在这里继承。