需求:背景半透明,子控件不透明
方法:
1.用一张半透明的图片做背景。
这个方法当然可以达到要求,但在工程中尽量少加入资源,能不用图片的尽量不用图片(如纯色背景之类的)
2.使用colorWithWhite:alpha:方法
bgView.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.5];
white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度。如果做的半透明背景基色基本非黑即白,这个方法基本也够用了。缺点就是不能设置其他颜色(彩色)的半透明
3.使用colorWithRed:green:blue:alpha:方法 扩展:colorWithHexColor:alpha:
4. 在xib或者storyBoard里面对背景进行设置
如图:
xib中的设置
通过对背景颜色设置图中的Opacity滑块调整透明度,同样可以达到设置背景半透明而子控件不透明的目的。
5.使用colorWithAlphaComponent:方法
bgView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];