iPhone - backgroundColor UIView - используя png с прозрачностью? - PullRequest
13 голосов
/ 30 октября 2010

Я устанавливаю цвет фона моего UIView (который находится внутри UIViewController) следующим образом:

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myTransparentBG.png"]];

Я даже пытался связываться с [myView setOpaque:NO];, но изображение не выглядит прозрачным. У него черный фон. Могу ли я исправить это программно? Иначе, как мы должны установить прозрачный фон для нашего представления?

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

Ответы [ 3 ]

32 голосов
/ 01 марта 2011

При использовании прозрачного шаблона после установки свойства backgroundColor необходимо установить для свойства opaque значение NO как для вида, так и для его слоя.Вот образец:

UIView* paperView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,700)];
paperView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"paper.png"]];

[paperView.layer setOpaque:NO];
paperView.opaque = NO;
0 голосов
/ 30 октября 2010

Я никогда не делал этого на самом деле, но вот что я попробую.

Установите UIView .backgroundColor на [UIColor clearColor]Затем поместите UIImageView, содержащий ваш PNG, как «самый низкий» элемент в стек подпредставлений UIView.Убедитесь, что цвет фона UIImageView также ясен.

0 голосов
/ 30 октября 2010

Используйте это: myView.backgroundColor = [UIColor clearColor];

Это установит прозрачный фон.

...