2012-03-06 15 views
20

mam UIView z alfa .5 I dodano podrzędny z alfa 1.widok z niską alfa - podrzędny wysokiej alfa

subview wydaje dziedziczyć wartość alfa macierzystego. Czy istnieje sposób, aby subview był bardziej nieprzejrzysty niż jego widok nadrzędny?

kod

wygląda następująco:

CGRect promptFrame = CGRectMake(55, 80, 180, 50); 
UIView *inputPrompt = [[UIView alloc] initWithFrame: promptFrame]; 
[inputPrompt setBackgroundColor: [UIColor darkGrayColor]]; 
[inputPrompt setAlpha: .5]; 
inputPrompt.layer.cornerRadius = 8; 
inputPrompt.layer.masksToBounds = YES; 

CGRect fileTextFieldFrame = CGRectMake(10, 15, 150, 25); 
UITextField *filePrompt = [[UITextField alloc] initWithFrame: fileTextFieldFrame]; 
[filePrompt setBorderStyle:UITextBorderStyleRoundedRect]; 
[filePrompt setClearButtonMode:UITextFieldViewModeWhileEditing]; 
[filePrompt setBackgroundColor: [UIColor whiteColor]]; 
[filePrompt setAlpha: 1]; 

Wynik wygląda tak: enter image description here

Chciałbym być w stanie zobaczyć na przycisk poniżej szarej UIView ale nie poniżej białym UITextField. Jak mam to zrobic?

Odpowiedz

79

Ustawia alfa koloru tła inputPrompt zamiast alfa bezpośrednio.

[inputPrompt setBackgroundColor:[[UIColor darkGrayColor] colorWithAlphaComponent:0.5]]; 
//[inputPrompt setAlpha: .5]; 
+1

To działało dobrze. Dzięki. – StoneBreaker

+1

+1 i bardzo dziękuję :) :) – Sarah

+1

+1 działa bardzo dobrze .. –