Как удалить 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];

Надеюсь это поможет,

Р.

Другие вопросы по тегам