すべてのCALayerのサブレイヤーを削除する 質問する

すべてのCALayerのサブレイヤーを削除する 質問する

レイヤーのサブレイヤーをすべて削除するのに問題があります。現在、手動で削除していますが、不要な混乱が生じます。Google でこの件に関するトピックをたくさん見つけましたが、回答はありませんでした。

私は次のようなことをやってみました:

for(CALayer *rootLayer.sublayers 内のレイヤー)
{
    [レイヤーのサブレイヤーからの削除];
}

しかし、それは機能しませんでした。

また、rootLayer.sublayers を別の NSArray に複製しようとしましたが、結果は同じでした。

何か案は?

編集:

今は動作すると思っていましたが、間違っていました。CALayers ではうまく動作しますが、CATextLayers では動作しません。何かアイデアはありますか?

ベストアンサー1

レイヤーからすべてのサブレイヤーを削除する最も簡単な方法は、サブレイヤー プロパティを nil に設定することです。

rootLayer.sublayers = nil;

おすすめ記事