UIView скрытое свойство ... есть что-то еще? - PullRequest
11 голосов
/ 17 февраля 2011

Исходя из ActionScript, я бы установил для Sprites значение visible = false, чтобы они не рассчитывались в таких вещах, как макет, и чтобы они не реагировали на события.

В разработке для iOS я продолжаю это - если UIView не нужен, я могу одновременно анимировать его альфа в ноль и затем установить hidden = true.Я хотел знать, трачу ли я свое время или есть ли польза для этого.В моем текущем проекте я делаю это с UIImageViews, которые все равно не отвечают на события.

Является ли настройка скрытой истинной хорошей практикой или просто дополнительными накладными расходами?

Ответы [ 2 ]

22 голосов
/ 17 февраля 2011

Это лучший выбор, потому что установка скрытого в true удаляет представление из цикла рендеринга. При установке альфа в 0 вид становится прозрачным.

6 голосов
/ 17 февраля 2011

Если вам это больше не нужно, то вы должны правильно удалить его из памяти. В этом случае вы просто оживите его альфа (чтобы он выглядел хорошо), а затем освободите его.

если вы автоматически выпустили его, то все, что вам нужно сделать, это удалить его из суперпредставления, и его сохранение достигнет 0 и будет освобождено.

[UIView animateWithDuration:.5
                 animations: ^ {
                      [myView setAlpha:0];
                 }
                 completion: ^ (BOOL finished) {
                      [myView removeFromSuperview];
                 }];
...