Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

View with low alpha - Subview with high alpha

Tags:

I have a UIView with an alpha of .5 I have added a subview with an alpha of 1.

The subview seems to inherit the alpha value of the parent. Is there a way to make the subview more opaque than its parent view?

code looks like this:

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];

The result looks like this: enter image description here

I would like to be able to see the button below the gray UIView but not below the white UITextField. How do I do this?

like image 820
StoneBreaker Avatar asked Mar 06 '12 21:03

StoneBreaker


1 Answers

Set the inputPrompt's background color's alpha not its alpha directly.

[inputPrompt setBackgroundColor:[[UIColor darkGrayColor] colorWithAlphaComponent:0.5]];
//[inputPrompt setAlpha: .5]; 
like image 99
NJones Avatar answered Oct 02 '22 13:10

NJones