0
私はすべてのCALayersをdrawRectメソッドの中に描画するビューを持っています。メソッドの中で私はアニメーションを開始し、完成ブロックでレイヤーとそのサブレイヤーをスーパーレイヤーから削除します。しかし、それは私のアニメーションのサブレイヤとして追加され続けます。これを防ぐ方法を教えてください。アニメーションが完了したらCALayerを削除するには?
- (void)drawRect:(CGRect)rect
{
...
[CATransaction begin];
{
[CATransaction setAnimationDuration: 5.0];//Dynamic Duration
[CATransaction setCompletionBlock:^{
[tutorialCircle removeFromSuperlayer];
[strokePart removeFromSuperlayer];
}];
...
for (NSUInteger i = 0; i < 3; i++)
{
strokePart = [[CAShapeLayer alloc] init];
strokePart.fillColor = [[UIColor clearColor] CGColor];
strokePart.frame = tutorialCircle.bounds;
strokePart.path = tutorialCircle.path;
strokePart.lineCap = tutorialCircle.lineCap;
strokePart.lineWidth = tutorialCircle.lineWidth;
...
[tutorialCircle addSublayer: strokePart];
どのように私は私のサブレイヤとそのサブレイヤは一度だけのためのアニメーションのために示され、その後、永遠に失われていることを確認していますか?