Domanda

E 'possibile impostare Alfa a .75 o .50 (trasparente) per vista primaria ma il bambino vista / controlli sono opache (canale alfa 1,0 - completamente visibile).

Ogni volta che ho impostato Alpha della mia UIView principale a trasparente, tutti i punti di vista del bambino / controlli sono indicate anche come trasparente. C'è qualche soluzione?

È stato utile?

Soluzione

Il genitore che si comporta come il vostro sfondo deve essere cambiato in un fratello prima che il contenitore che avvolge i vostri bambini. In questo modo è possibile impostare la trasparenza senza compromettere l'intera gerarchia.

Questo sarebbe simile a questa.

  • <item-container>
    • <item-background>
    • <children-container>
      • <children/>

Questa gerarchia, avrebbe lo stesso ordine visibilità e consentono di impostare l'opacità indipendentemente dal contenuto del contenitore dei bambini.

Altri suggerimenti

Un modo più semplice è possibile anche senza fare le viste fratelli. Non impostare l'alfa direttamente sulla vista padre. Invece usare

[parentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.5]];

Ora qualsiasi vista bambino può avere un proprio colore e non sarà trasparente.

In Swift, questo sarebbe

parentView.backgroundColor = UIColor.clearColor().colorWithAlphaComponent(0.7)

So che questa è una risposta in ritardo, e qualcosa è già stato accettato, ma ho trovato la soluzione migliore per me è non impostare direttamente la trasparenza del UIView, ma invece impostare il suo colore di sfondo a 0,0,0,0, rendendo il colore completamente trasparente.

Non al 100% sicuro di quello che si sta cercando di fare, ma se si desidera avere una vista contenitore con uno sfondo trasparente è possibile farlo impostando la proprietà backgroundColor per [UIColor clearColor]. In questo modo si può vedere attraverso il fondo, ma tutti i subviews rimarrà opaco. Se vuoi lo sfondo di essere semi-trasparente basta usare [UIColor colorWithRed: verde: blu: alpha:].

Se si desidera che l'intera vista di essere semi-trasparente, mentre altre viste non sono dovrete farli fratelli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top