Непрозрачное свойство UIView со значением YES конфликтует со свойством backgroundColor со значением [UIColor clearColor]? - PullRequest
11 голосов
/ 18 августа 2011

такой как код:

view.opaque = YES;

и

view.backgroundColor = [UIColor clearColor];

Кто-нибудь, кто может объяснить что-то об этом?

EDIT:

как показывает документ:

Объявление видов непрозрачными, когда это возможно

UIKit использует непрозрачное свойство каждого представления, чтобы определить, может ли представление оптимизировать операции компоновки. Установка значения этого свойства в YES для пользовательского представления говорит UIKit, что ему не нужно отображать какой-либо контент за вашим представлением. Меньше рендеринга может привести к увеличению производительности вашего кода для рисования и обычно рекомендуется. Конечно, если для свойства opaque установлено значение YES, ваше представление должно полностью заполнить прямоугольник границ полностью непрозрачным содержимым.

opaque свойство используется для определения, может ли представление оптимизировать операции компоновки.

поэтому вопрос такой:

если я установлю view.opaque = YES и view.backgroundColor = [UIColor clearColor] , первое повышение производительности , как насчет второго?

Ответы [ 2 ]

8 голосов
/ 18 августа 2011

Непрозрачный флаг используется в качестве оптимизации для рендеринга.Если вы установите значение YES, когда представление не должно быть непрозрачным, вы можете получить неожиданный рендеринг, если вы действительно хотите, чтобы что-то было видно через представление.

Насколько я понимаю, непрозрачный флаг иногда проверяется, чтобы увидетьальфа-значение должно быть даже проверено.

2 голосов
/ 18 августа 2011

Нет, не должно быть.Это должно действовать ясно.Прозрачный цвет совершенно непрозрачен, если это даже имеет смысл.Он не будет отображаться черным, белым или чем-то еще, если вы измените его альфа.Это будет ясно.

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