2009-09-16 13 views
5

Me pregunto, ¿cuál es la forma de atenuar parte de una vista similar a la forma en que UIAlertView pone en gris todo excepto el cuadro de mensaje? Ahora uso otra vista personalizada en la parte superior del área de destino, pero no se ve tan bien.Gris vista en iphone, ¿cómo?

¿Alguna idea?

Respuesta

8

Obtengo buenos resultados utilizando el método que ya has probado. ¿tal vez jugar con el alfa es una buena idea?

mask = [[UIView alloc] initWithFrame:window.frame]; 
[mask setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.78]]; 
[self.view addSubview:mask]; 

Entonces adelante en el código se puede quitar:

[mask removeFromSuperview]; 
or 
[mask setHidden:YES]; 

Si quieres que sea aún mejor, supongo que se podría tratar de usar un gradiente, ya sea mediante programación, o como una imagen, y usar esto para oscurecer los bordes de la pantalla de modo que el contenido que está mostrando al frente parezca ser la fuente de luz.

+0

Eso es exactamente lo que hice, con alpha –

+0

Su respuesta es buena, pero en este caso todas las demás subvistas ya no serán interactivas. –

Cuestiones relacionadas