Подтвердить что ты не робот

100% непрозрачность UILabel на фоне непрозрачности на 50% (UIView?)

Итак, сейчас у меня есть UIView с UILabel. Я хочу, чтобы фон имел непрозрачность < 1.0, а метка имеет непрозрачность 1,0. Однако, поскольку альфа распространяются вниз по иерархии представлений, метка заканчивается непрозрачностью < 1.0.

Есть ли способ сделать то, что я хочу, не сделав UILabel подвью другого вида?

4b9b3361

Ответ 1

Просто установите цвет фона полупрозрачным:

view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];

Или в Swift:

view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)

Или, Swift 3:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)

Обратите внимание, что в этом конкретном случае UIColor(white: 0, alpha: 0.5) более кратким, но colorWithAlphaComponent будет работать в целом.

Ответ 2

Помимо доступности в коде, вы можете сделать это довольно легко и от iB:

  • В раскадровке выберите вид, который вы хотите отредактировать;
  • С правой панели убедитесь, что инспектор атрибутов открыт,
  • Нажмите правую сторону раскрывающегося списка "Фон" и выберите "Другое..."; он откроет диалог выбора цвета;
  • Измените "Непрозрачность" внизу, чтобы установить непрозрачность фона.

Ответ 3

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

Ответ 4

Вы можете использовать это:

self.view.layer.opacity=0.5