Если альфа UIButton установлена ​​в 0, нет необходимости удалятьFromSuperview? - PullRequest
1 голос
/ 11 января 2012

Я только что заметил кое-что интересное с моей UIButton.

Я в настоящее время гасну кнопку, так что button.alpha = 0.0;

Первоначально я намеревался [button removeFromSuperview] также и в этой точке. Тем не менее, кажется, что кнопка с 0,0 альфа не выполняется, что примерно равно ее отсутствию (и для цели моего проекта, так же хорошо).

Это предполагаемое следствие того, что альфа равна 0?

Ответы [ 2 ]

6 голосов
/ 11 января 2012

Скрытые UIControl s не отвечают на события, в том числе alpha = 0.0 'ed элементов.

Однако, если вы не удалите UIButton из его суперпредставления, он может не быть освобожден, покаsuperview освобожден, так как superview сохраняет его.Скорее всего, это не проблема, особенно если вы можете изменить цвет в кнопке.Просто убедитесь, что ваше управление памятью правильно.

Для удобочитаемости я бы также добавил button.enabled = NO, хотя это ненужно функционально.

1 голос
/ 11 января 2012

Если вы намереваетесь просто скрыть кнопку, но она понадобится вам позже, установка значения alpha является неправильным инструментом для работы.Просто спрячьте его вместо этого с помощью свойства hidden UIView.

Если вам больше не нужна кнопка, тогда removeFromSuperview, как вы уже заявили.

Muckingс alpha создается впечатление, что существует некое сложное смешивание, неявное в коде.

Напишите свой код для удобства чтения.Сообщите о намерениях настолько четко, насколько это возможно, чтобы человек, просматривающий ваш код позже - кто может быть вами через 3/6/12/24 месяца - понял его как можно проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...