IPhone - UIView backgroundColor - используя png с прозрачностью?
Я устанавливаю цвет фона моего UIView (который находится внутри UIViewController) следующим образом:
myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myTransparentBG.png"]];
Я даже пытался возиться с [myView setOpaque:NO];
, но изображение не выглядит прозрачным. Он имеет черный фон. Можно ли исправить это программно? В противном случае, как мы должны установить прозрачный фон для нашего представления?
Это похоже на вопрос, который должен был быть задан раньше, но я не мог найти ответа.
Ответы
Ответ 1
При использовании прозрачного шаблона после установки свойства 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;
Ответ 2
Я никогда не делал этого, но вот что бы я попробовал.
Установите UIView .backgroundColor
на [UIColor clearColor]
. Затем поместите UIImageView, содержащий ваш PNG, как "самый низкий" элемент в стеке UIView подзапросов. Убедитесь, что цвет фона UIImageView также понятен.
Ответ 3
Используйте это: myView.backgroundColor = [UIColor clearColor];
Это установит его на прозрачный фон.