2011-07-11 19 views
11

Estoy creando una UIView que contiene un texto que cubre parcialmente un UIImageView. Quiero que el usuario pueda leer el texto y mantener una perspectiva de la imagen debajo. He intentado configurar el color de fondo en [UIColor clearColor], pero luego el fondo es totalmente transparente y es difícil leer el texto dependiendo de los colores de la imagen.¿Cómo se crea un fondo semitransparente para una UIView?

Si baje la vista.alpha = 0.5 toda la vista, incluido el texto, es parcialmente transparente. Lo que me gustaría es mantener el texto y reducir la transparencia del fondo parcialmente, permitiendo que la imagen se muestre.

Respuesta

28

Creo que lo que quieres decir es que quieres que el backgroundColor de tu UIView sea semi transparente? Si desea que el uso de color blanco/transparente esto:

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

más si quiere que sea de otro color utilizar el método UIColor generales: +colorWithRed:green:blue:alpha:

+0

Intenté lo siguiente "self.summaryViewController.view.backgroundColor = [UIColor colorWithWhite: 1.0 alpha: 0.2];" y no tuvo ningún efecto. Hay una cantidad de subvistas en la vista summaryViewController.view. ¿Eso tendría algún efecto? – ChrisP

+0

Lo tengo para trabajar. Curiosamente, tuve que agregar el comando al viewDidLoad del summaryViewController en lugar de a su controlador de vista padre. – ChrisP

0

creo que puedes usar:

myView.alpha = myAlphaFloat; 
myView.opaque = NO; 
+1

Esto establece la vista completa y su contenido. La respuesta de Jesse establece el backgroundColor. – grigb

+0

NO, esta es la pregunta que ASKER dijo que NO quería hacer, porque está tratando de hacer que el texto sea 100% opaco; solo se desea que el * color de fondo sea semitransparente. – ToolmakerSteve

29

Para aquellos que tienen su punto de vista en un guión gráfico o .xib, simplemente hazlo en el constructor de interfaz seleccionando la opción "Borrar color" para el Fondo de la vista en el Panel de utilidades (el panel a la derecha). "Borrar color" le dará a la vista un fondo completamente transparente.

See screenshot

Si necesita un color de fondo que es parcialmente transparente, seleccione el color de fondo deseado con el selector de color y utilice el control deslizante Opacidad en la parte inferior para ajustar la transparencia.

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

2

el tiempo que ya tienen un color así que podría usar .colorWithAlphaComponent así:

let exampleColor = UIColor.blackColor() 
overlayView.backgroundColor = exampleColor.colorWithAlphaComponent(0.8) 
6

Esto funcionará.

myView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.7f]; 
0

Para Xamarin C#, en este momento, el guión gráfico visual no tiene el control deslizante "opacidad" de Xcode del guión gráfico mentioned by Bocaxica.

Si establece BackgroundColor para Ver nameOfView de guión gráfico, a continuación, en la ViewDidLoad el controlador de vista, añade esta línea para establecer alfa:

nameOfView.BackgroundColor = nameOfView.BackgroundColor.ColorWithAlpha(0.7f); // A value between 0 and 1. 
0

Swift 3+

blanco medio transparente:

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

o negro medio transparente:

 view.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5) 
Cuestiones relacionadas