2009-08-13 6 views
6

Mam nieco przezroczysty widok (alfa = 0,6), który ma pewne subviews. Chciałbym, aby jeden z subskrybentów (UILabel) był narysowany z alfa 1.0, ponieważ mieszanie sprawia, że ​​tekst jest trudny do odczytania, ale dodając go jako wyeksponowany widok główny, przyjęto jego wartość alfa. Czy istnieje sposób na obejście tego zachowania? Wierzę, że będę musiał usunąć to z subview, ale chciałem zapytać i zobaczyć, czy może czegoś brakuje.Czy możesz przesłonić wartość alfa nadrzędnego UIView na jednym z jego podstron?

Odpowiedz

2

Masz rację. Musisz przenieść UILabel z przezroczystego widoku, aby renderować go jako nieprzezroczysty.

10

Innym podejściem, które działało łatwo, jest nie modyfikowanie kanału alfa w UIView. Zamiast tego zmodyfikuj warstwę alfa w obiekcie backgroundColor obiektu UIView.

Oczywiście zależy to od tego, dlaczego warstwa alfa była przezroczysta, ale działała dobrze dla moich wymagań.

+0

Dziękujemy! Twoje rozwiązanie jest o wiele lepsze niż stworzenie kolejnego kontenera. –

13

Brian ma rację. Na przykład:

view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6]; 

uczyni czarnym tle w alfa 0,6 i nie zostaną naruszone inne widoki.

+0

thanx, jego działanie. – ViruMax