2013-02-20 5 views
2

У меня есть подкласс UIView, который переопределяет drawRect: для достижения различных эффектов (градиентный фон, закругленные углы с разными радиусами и т. Д.). Когда я просматриваю приложение и включаю цветные смешанные слои в симуляторе/инструментах, экземпляры этого класса никогда не будут зелеными, даже если он просто рисует сплошной градиент и имеет непрозрачное свойство, равное ДА. Есть ли что-то особенное в drawRect: для того, чтобы это свойство было уважаемым?Свойство UIView opaque игнорируется при реализации drawRect:

+0

Возможно, проверьте, что значение 'alpha' равно 1.0? – mrueg

+0

Является ли цвет фона UIView непрозрачным цветом (альфа 1)? – matt

ответ

0

Может быть вам следует установить «непрозрачный» свойство NO, как говорят Apple, Doc:

непрозрачный вид, как ожидается, заполнить свои границы с полностью непрозрачным содержанием, то есть, содержание должно иметь значение альфа 1,0. Если представление непрозрачно и либо не заполняет его границ, либо содержит полностью или частично прозрачное содержимое, результаты непредсказуемы. Вы должны всегда устанавливать значение этого свойства НЕТ, если представление полностью или частично прозрачно.

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

UIView reference

Смежные вопросы