重绘

时间:2015-04-22 13:41:49

标签: ios xcode cgpath

我目前正在处理的应用程序的性能存在一些奇怪的问题。 One View使用自建信息图,类似于极坐标图。它每8秒重绘一次。 重绘的前五次一切都很好,但之后滚动视图是视图的超视图,显示信息图开始严重断断续续。这是代码的基本部分,它产生图形。

[_ chartLayer removeFromSuperlayer];     _chartLayer = [CALayer图层];

  CAShapeLayer *segment = [mySegmentProducer produceSegmentWith:startAngle and: endAngle and: radius and: sliceAngle];
    [_chartLayer addSublayer:segment];
    [self.layer addSublayer:_chartLayer];

这里的函数“produceSegmentWith:”放在另一个类中:

- (CAShapeLayer*) produceSegmentWith:(float)startAngle and:(float)endAngle and:(float) radius and: (float) sliceAngle  {

CAShapeLayer *segment = [CAShapeLayer layer];

CGPathRef pathTwo = [self addSegmentPath: radius fromStartAngle:startAngle toEndAngle:endAngle];

// hue = 224 / 360 initial value

segment.fillColor = [UIColor colorWithHue:self.hue/360 saturation:0.5 brightness:0.63 alpha:1.0].CGColor;
segment.lineWidth = 0.0;
segment.path = pathTwo;
self.hue-= 15;
return segment;

}

我很害羞我在这里做的事情是错的。在其他帖子中,我看到总是使用函数“CGPathRelease”。但我不知道如何正确使用它。当我把它放在“返回段”上方的行中时,我总是得到一个“BAD_THREAD_ACCESS”异常。任何人都可以把我带到正确的方向?

0 个答案:

没有答案