UIImageView не показывает фоновый вид, если изображение имеет прозрачные области - PullRequest
0 голосов
/ 11 июля 2011

У меня UIView есть ярлыки и кнопки.

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

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

UIImage* image = [UIImage imageNamed:@"TI1.jpg"];
UIImageView* imageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:imageView];

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

По сути, я хочу выделить определенную область вида, которая имеет кнопки / метки, и сделать остальную часть области серой.Моя идея состояла в том, чтобы иметь это UIImageView с прозрачными областями на изображении, чтобы достигнуть этого.

Спасибо Ankur

1 Ответ

1 голос
/ 12 июля 2011

Попробуйте установить imageView.opaque = NO;

UIImageView наследуется от UIView. Согласно документации этого класса:

Это свойство предоставляет подсказку системе рисования о том, как она следует относиться к мнению. Если установлено значение YES, система рисования обрабатывает смотреть как полностью непрозрачный, что позволяет системе рисования оптимизировать некоторые операции рисования и повышения производительности. Если установлено значение NO, рисунок Система обычно объединяет вид с другим контентом. По умолчанию Значение этого свойства ДА.

Кроме того, вы не уверены, что JPG поддерживает прозрачность, поэтому попробуйте экспортировать изображение в формате PNG, чтобы получить нужные результаты.

...