Является ли UIView непрозрачным свойством со значением YES в конфликте с свойством backgroundColor со значением [UIColor clearColor]?

например код:

view.opaque = YES;

и

view.backgroundColor = [UIColor clearColor];

любой, кто может что-то объяснить об этом?

EDIT:

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

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

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

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

так что вопрос:

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

Ответ 1

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

Ответ 2

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

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