我正在使用CAEmitterLayer(如this example)在iOS中使用粒子系統,但當我需要時我無法刪除粒子。如何刪除CAEmitterLayer?
我想下面的代碼,但它不工作:
[self.emitterLayer setLifetime:0];
[self.emitterLayer removeFromSuperlayer];
[self.setEmitterLayer:nil];
有什麼建議?謝謝!
我正在使用CAEmitterLayer(如this example)在iOS中使用粒子系統,但當我需要時我無法刪除粒子。如何刪除CAEmitterLayer?
我想下面的代碼,但它不工作:
[self.emitterLayer setLifetime:0];
[self.emitterLayer removeFromSuperlayer];
[self.setEmitterLayer:nil];
有什麼建議?謝謝!
請使用
for (CALayer *layer in _plusButton.layer.sublayers) {
if (layer.class == [CAEmitterLayer class]) {
[layer removeFromSuperlayer];
}
}
,並請發現有助於您 here
我有意見,在過去幾個月ESP發揮各地有很多的鏈接。與iOS 5.0到6.0,我的經驗是,你不能刪除「removeFrom」的大部分這些意見,但你可以隱藏他們,然後隨意顯示。特別是如果你的邏輯發生在一個視圖內或沒有根視圖。
你只需要實現這樣的事情:將其隱藏:[YourView setHidden:YES];
或表現出來:[YourView setHidden:NO];
希望這有助於
R.
感謝。對不起,我有一個mi類的參考CAEmitterLayer實例: @property(nonatomic,strong)CAEmitterLayer * emitterLayer; 我嘗試你的代碼,但粒子繼續顯示:( –
你見過我提供的鏈接 – iEinstein
是的,但我不明白有效的答案...我試圖從超級層刪除,但它doesn 't work :( –