La mia domanda è quando ho aggiunto una vista come sottoview a Root view.When ho cambiato il valore alfa della vista di root stesso si verifica anche in sottoview. Di solito non ho bisogno dell'aggiornamento in subview.Is c'è qualche soluzione per fare così.Non aggiornare la sottoview con il valore alfa superview
risposta
Questa operazione cambia solo l'alfa della vista radice, non gli altri
self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
avresti bisogno di cambiare la struttura dei vostri punti di vista. Invece di posizionare le proprie visualizzazioni secondarie nella vista radice, creare un layer ontop della vista radice, ma aggiungere ancora le sottoview alla radice. Quando si modifica l'alfa del livello, questo non influirà sulle sottoview. Esempio di struttura di seguito.
Il tuo attuale struttura:
RootView->Subviews //Changing RootView alpha effects Subviews.
struttura necessaria:
RootView->View->Subviews(Still Added to RootView) //Changing alpha of Layer doesn't effect subviews.
Spero che questo aiuti.
buono ma esattamente non adatto al mio problema. Ho una vista di root. Voglio aggiungere una vista come visualizzazione di avviso alla vista root. E quando ho aggiunto la vista secondaria alla vista root, la vista radice dovrebbe apparire trasparente e gli elementi non dovrebbero essere accessibili in quella vista. Voglio attivare l'interazione con la vista secondaria. –
@skram: per livello, intendevi un'altra vista? – user523234
Sì, mi dispiace. Lo ripeterò. Un 'UIView' che funge da livello tra la radice e le sottoview. – skram
Costruire sulla risposta da @shabbirv, si può anche usare il colore selettore di IB
Questo sarà anche risolvere questo cambiando radice vista colore molto al di sotto, questo non influenzerà la visualizzazione secondaria.
[rootView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]];
thats awesomw tizio .. –
in effetti è fantastico. questo dovrebbe essere nella parte superiore della ricerca di google. seriamente – Katushai
grazie uomo, fantastico! –