Как удалить CAEmitterLayer?
Я играю с системой частиц в iOS, используя CAEmitterLayer (как в этом примере), но я не могу удалить частицы, когда захочу.
Я пытаюсь следующий код, но он не работает:
[self.emitterLayer setLifetime:0];
[self.emitterLayer removeFromSuperlayer];
[self.setEmitterLayer:nil];
Какие-либо предложения? Спасибо!
2 ответа
Пожалуйста, используйте это
for (CALayer *layer in _plusButton.layer.sublayers) {
if (layer.class == [CAEmitterLayer class]) {
[layer removeFromSuperlayer];
}
}
и, пожалуйста, найдите ссылку, которая будет полезна для вас здесь
Я много играл с представлениями в последние месяцы, особенно. с ios 5.0 до 6.0 и мой опыт показывает, что вы не можете удалить большинство этих представлений с помощью "removeFrom", но вы можете скрыть их и отобразить по желанию. Особенно, если ваша логика имеет место в одном представлении или без корневого представления.
Вам нужно только реализовать что-то вроде этого: чтобы скрыть это: [YourView setHidden:YES];
или показать это: [YourView setHidden:NO];
Надеюсь это поможет,
Р.