2012-06-05 7 views

Respuesta

41

Esto va a cambiar sólo el alfa de la vista raíz, no los demás

self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5]; 
+0

thats awesomw dude .. –

+0

de hecho eso es increíble. esto debería estar en la parte superior de la búsqueda de Google. en serio – Katushai

+0

gracias hombre, increíble! –

2

que había necesidad de cambiar la estructura de sus puntos de vista. En lugar de colocar sus subvistas en la vista de raíces, cree una capa en la cima de su vista raíz, pero aún agregue las subvistas a la raíz. Al cambiar el alfa de la capa, no afectará a las subvistas. Estructura de ejemplo a continuación.

Su estructura actual:

RootView->Subviews //Changing RootView alpha effects Subviews. 

estructura necesaria:

RootView->View->Subviews(Still Added to RootView) //Changing alpha of Layer doesn't effect subviews. 

Espero que esto ayude.

+0

bueno pero exactamente no se ajusta a mi problema. Tengo una vista de root. Quiero agregar una vista como vista de alerta a la vista raíz. Y cuando agregué la subvista a la vista raíz, la vista raíz debería parecer transparente y los elementos no deberían tener acceso en esa vista. Deseo habilitar la interacción con la subvista. –

+0

@skram: por capa, ¿te refieres a otra vista? – user523234

+1

Sí, lo siento. Voy a volver a expresarlo. Un 'UIView' actúa como una capa entre la raíz y las subvistas. – skram

9

Sobre la base de la respuesta por @shabbirv, también se puede usar selector de color de IB

color picker

1

Esto también va a resolver esto cambiando el color de la raíz vista a través de abajo, esto no afectará a la subvista.

[rootView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]]; 
Cuestiones relacionadas