私はコアプロットの新人です。そして最近、バーの成長アニメーションをプロットに追加することにしました。ここで検索した指示に従って、アニメーションを実装しました。ここで問題が発生しました。アニメーションが有効にならないように見えました。デリゲート: didStopAnimate:(BOOL) は、フラグ false でアニメーションの期間をどれだけ長く設定しても戻ります。もう 1 つ述べておきたいことがあります。グラフ ビューでは、スクロール ビューを実際のグラフ ホスティング ビューの下に配置しました。コア アニメーションの動作に影響はありますか? テーブルビューからそれ自体へのナビゲーションの後にプロットが表示されました。ここに私のコードのいくつかがあります:
if ([plot_type isEqualToString:@"bar"]) {
CPTBarPlot *plot = [[CPTBarPlot alloc] init];
//id
plot.identifier = [d objectForKey:@"title"];
plot.title = [d objectForKey:@"title"];
plot.lineStyle = barLineStyle;
plot.barCornerRadius = 1.2;
//set color
CPTGradient *gradient = [CPTGradient gradientWithBeginningColor:[CPTColor colorWithCGColor:color_begin] endingColor:[CPTColor colorWithCGColor:color_end]];
gradient.angle = 90.0f;
CPTFill *fill = [CPTFill fillWithGradient:gradient];
plot.fill = fill;
//bar width
double width = [[d objectForKey:@"width"] doubleValue]==0.0?0.6:[[d objectForKey:@"width"] doubleValue];
plot.barWidth = CPTDecimalFromFloat(width);
plot.barsAreHorizontal = NO;
//need manually stacked
if (need_stack && !is_first) {
plot.barBasesVary = YES;
} else {
plot.barBasesVary = NO;
}
//data source
plot.dataSource = self;
//delegate
plot.delegate = self;
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform"];
[anim setDuration:2.0f];
anim.toValue = [NSNumber numberWithFloat:1];
anim.fromValue = [NSNumber numberWithFloat:0.0f];
anim.removedOnCompletion = NO;
anim.delegate = self;
anim.fillMode = kCAFillModeForwards;
[plot addAnimation:anim forKey:(NSString *)plot.identifier];
[graph addPlot:plot toPlotSpace:plotSpace];
}
事前にご協力いただきありがとうございます。