Как создать полупрозрачный фон для UIView? - PullRequest
12 голосов
/ 11 июля 2011

Я создаю UIView, содержащий некоторый текст, который частично покрывает UIImageView. Я хочу, чтобы пользователь мог читать текст и при этом сохранять перспективу изображения под ним. Я попытался установить цвет фона [UIColor clearColor], но затем фон полностью прозрачен, и его трудно прочитать в зависимости от цвета изображения.

Если я уменьшу view.alpha = 0.5, весь вид, включая текст, будет частично прозрачным. Я хотел бы сохранить текст и частично уменьшить прозрачность фона, чтобы изображение просвечивало.

Ответы [ 8 ]

35 голосов
/ 18 апреля 2013

Для тех, у кого есть их представление в раскадровке или .xib, вы просто делаете это в конструкторе интерфейсов, выбрав опцию «Очистить цвет» для фона представления в панели утилит (панель справа).«Очистить цвет» придаст виду полностью прозрачный фон.

See screenshot

Если вам нужен частично прозрачный цвет фона, выберите нужный цвет фона с помощью палитры цветов и используйтеползунок Непрозрачность внизу, чтобы установить прозрачность.

opacity slider to arrange transparency of the background colour of your view

28 голосов
/ 11 июля 2011

Я думаю, что вы хотите сказать, что вы хотите, чтобы backgroundColor вашего UIView был полупрозрачным? Если вы хотите белый / прозрачный, используйте это:

myView.backgroundColor = [UIColor colorWithWhite:myWhiteFloat alpha:myAlphaFloat];

иначе, если вы хотите, чтобы это был другой цвет, используйте общий метод UIColor: +colorWithRed:green:blue:alpha:

6 голосов
/ 02 июня 2016

Это будет работать.

myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f];
2 голосов
/ 04 марта 2016

В конце концов, у вас уже есть цвет, поэтому вы можете использовать .colorWithAlphaComponent следующим образом:

let exampleColor = UIColor.blackColor()
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8)
0 голосов
/ 13 июля 2019

Для Swift 4+:

Черный полупрозрачный вид:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
0 голосов
/ 16 июля 2017

Свифт 3 +

белый полупрозрачный:

view.backgroundColor = UIColor(white: 1, alpha: 0.5)

или черный полупрозрачный:

        view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
0 голосов
/ 10 марта 2017

Для Xamarin C # в настоящее время визуальная раскадровка не имеет ползунка "непрозрачность" раскадровки Xcode , упомянутого Bocaxica .

Если вы установите BackgroundColor для View nameOfView в раскадровке, то в ViewDidLoad контроллера вашего представления добавьте эту строку, чтобы установить альфа:

nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha( 0.7f );  // A value between 0 and 1.
0 голосов
/ 14 апреля 2013

Я считаю, что вы должны использовать:

myView.alpha = myAlphaFloat;
myView.opaque = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...