Is it possible to set Alpha to .75 or .50 (transparent) for Parent view but the Child views/controls are opaque (Alpha channel 1.0 - completely visible).
Whenever i set Alpha of my main UIView to transparent, all the child views/controls are also shown as transparent. Is there any workaround?
One simpler way is also possible without making the views siblings. Don't set the alpha directly on the parent view. Instead use
[parentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.5]];
Now any child view can have its own color and will NOT be transparent.
In Swift, this would be
parentView.backgroundColor = UIColor.clearColor().colorWithAlphaComponent(0.7)
The parent that acts as your background should be changed to a sibling before the container that wraps your children. That way you can set the transparency without affecting the entire hierarchy.
This would look like this.
<item-container>
<item-background>
<children-container>
<children/>
This hierarchy, would have the same visibility order and let you set the opacity independently of the contents of the children container.
I know this is a late answer, and something has already been accepted, but I found the best solution for me is not to set the UIView
's transparency directly, but instead set it's background color to 0,0,0,0, making the color fully transparent.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With