0

アニメーションをから削除するCALayerか、レイヤーを非表示に設定すると、レイヤーが削除される前に約0.5秒でフェードアウトするようですが、必要なときに停止したいと思います。

タップするとすぐに停止するはずCALayerですが、フェードアウトのような効果がレイヤーに適用されます。アニメーションはCALayer上下に移動し、タップで削除すると、フェードアウトするのを見ることができます。

タップしたらすぐに削除する必要があるのは、UIImageView がその位置でそれを置き換え、キーフレーム画像アニメーションを実行するためです。

4

2 に答える 2

0

今は大丈夫actionです。親レイヤーのプロパティを効果的に無効にするのが最善の方法だと思いました。

parentLayer.actions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
                            [NSNull null], @"onOrderIn",
                            [NSNull null], @"onOrderOut",
                            [NSNull null], @"sublayers",
                            [NSNull null], @"contents",
                            [NSNull null], @"bounds",
                            nil];

[childLayer removeFromSuperlayer];

私の場合、NSDict:の「サブレイヤー」データのみが必要でした。

parentLayer.actions = [[NSMutableDictionary alloc] initWithObjectsAndKeys: [NSNull null], @"sublayers",
                            nil];

[childLayer removeFromSuperlayer];
于 2012-07-07T20:41:29.570 に答える
0

この自動アニメーションは、レイヤー アクションを無効にすることで制御できます。

[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue
                 forKey:kCATransactionDisableActions];
[aLayer removeFromSuperlayer];
[CATransaction commit];
于 2012-07-07T18:23:51.090 に答える