2009-09-16 8 views
5

Ich frage mich, was ist der Weg zum Ausgrauen Teil einer Ansicht ähnlich der Art, wie UIAlertView alles außer dem Meldungsfeld ausgraut? Im Moment verwende ich eine andere benutzerdefinierte Ansicht oben auf dem Zielbereich, aber es sieht nicht so schön aus.Graue Sicht in iPhone, wie?

Irgendwelche Ideen?

Antwort

8

Ich bekomme gute Ergebnisse mit der Methode, die Sie bereits ausprobiert haben. Vielleicht ist es eine gute Idee, mit dem Alpha herumzuhantieren. später im Code

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

Dann können Sie es entfernen:

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

Wenn Sie es noch besser machen wollen, ich nehme an, Sie könnten versuchen, einen Gradienten, entweder programmatisch oder als Bild, Verwenden Sie diese Option, um die Ränder des Bildschirms so zu verdunkeln, dass der angezeigte Inhalt die Lichtquelle ist.

+0

Genau so habe ich es gemacht, mit alpha –

+0

Ihre Antwort ist alles gut, aber in diesem Fall sind alle anderen Unteransichten nicht mehr interaktiv. –