2009-09-16 16 views
5

Mi chiedo quale sia il modo di oscurare parte di una vista simile al modo in cui UIAlertView mette in ombra tutto tranne la finestra di messaggio? In questo momento io uso un'altra vista personalizzata sopra l'area di destinazione, ma non sembra così bella.Visualizzazione grigia in iphone, come?

Qualche idea?

risposta

8

Ottengo buoni risultati utilizzando il metodo che hai già provato. forse giocherellare con l'alfa è una buona idea?

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

Poi più avanti nel codice è possibile rimuoverlo:

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

Se si vuole rendere ancora migliore, suppongo che si potrebbe provare a utilizzare un gradiente, sia a livello di codice, o come immagine, e usando questo per scurire i bordi dello schermo in modo tale che il contenuto che stai visualizzando in primo piano sembra essere la fonte di luce.

+0

Questo è esattamente come ho fatto, con alpha –

+0

La tua risposta è buona ma in questo caso tutte le altre visualizzazioni non saranno più interattive. –

Problemi correlati