空间背景怎么设置背景透明度透明度?

iOS 设置视图半透明而子控件不透明 - 简书
下载简书移动应用
写了28901字,被925人关注,获得了637个喜欢
iOS 设置视图半透明而子控件不透明
让一个控件半透明,通常我们第一个想到的方法就是调整控件的alpha值。当然如果你的视图上如果有其他子控件就会发现这样的方法是可能达不到你的预期,否则你应该看不到这篇文章了。
对视图直接设置alpha属性的值会导致其子控件也变得半透明,而通常我们的需求是:背景半透明而其子控件不透明。
先说解决办法:
1.用一张半透明的图片做背景。
这个方法当然可以达到要求,但是从编程初期前辈就教导我说在工程中尽量少加入资源,能不用图片的尽量不用图片(如纯色背景之类的)
2.使用colorWithWhite:alpha:方法
bgView.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.5];
这也是我之前使用比较多的方法,white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度。由于我做的半透明背景基色基本非黑即白,这个方法基本也够用了。缺点就是不能设置其他颜色(彩色)的半透明
3.使用colorWithRed:green:blue:alpha:方法
这其实是我重点想说的方法。为什么呢?
相信大家平时用代码给视图着色的时候,可能都用过类似colorWithHexString:或colorWithHexColor:这样的方法,即:对UIColor类进行扩展,将16进制(如:#ffffff)的颜色字符串作为参入传入,并返回该色值对应的UIColor类型的颜色
这一层的包装使我们(起码是我)对UIColor自带的方法colorWithRed:green:blue:alpha:既熟悉又陌生,熟悉是我们无数次调用这个扩展的方法来设置颜色,其本质都是在调用它,陌生可能是因为对它太过熟悉导致我几乎忘记它还有一个alpha参数可以让我们设置半透明的背景色。而且通过这种方法就可以达到让背景成为任何颜色的半透明而且其子控件不透明。
当我发现可以用这个方法设置背景半透明而子控件不透明的时候,有点哭笑不得。那感觉就像是你突然发现你以为十分熟悉的室友竟然还有一项瞬间移动的技能。
所以我决定以后给我的UIColor扩展类增加一个方法:colorWithHexColor:alpha:(怎么添加边笑边流泪的表情...)
4. 在xib或者storyBoard里面对背景进行设置
半透明背景xib设置.png
通过对背景颜色设置图中的Opacity滑块调整透明度,同样可以达到设置背景半透明而子控件不透明的目的。
5.使用colorWithAlphaComponent:方法
在博友的提醒下,发现还有一个方法,现在补充上来.和前面说的几个设置背景色的方法不太一样的是,这是一个实例方法,一个UIColor的实例调用此方法后会返回一个带透明度的UIColor.使用方法如下:
UIColor *color = [UIColor blackColor];
bgView.backgroundColor = [color colorWithAlphaComponent:0.5];
经测试,将返回值设置给底层的背景颜色,也可以保证子控件不透明.
最后,这篇文章的目的主要是感慨一下(编程)生活中被忽略的小细节, 请自行脑补边笑边流泪的表情...
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
· 392人关注
· 267人关注
至少比在眼前失去许多东西...还要好得多!只要是能做的事,我都要去做!--路飞
分享开发的点滴,大家共同进步!
· 251人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:404页面没有找到&|&&|&&|&&|&&|&&|&&|&&|&&|&
&&>>&&>>&&>>&&>>&
如何将QQ皮肤设置为透明_qq空间装扮
热点推荐:
文章来源:第一站
更新时间:
浏览次数:(载入中...)
QQ2013全透明补丁下载
本次QQ皮肤透明美化主要是针对QQ迷你资料卡、好友资料和登录框来修改的,其他界面由于QQ已经自带透明,所以无需手动修改,只要开启透明选项即可哦!
QQ最新透明补丁使用介绍:
1、本补丁仅仅适用于QQ2013版本的QQ,旧版QQ是不兼容的,如需使用,请各位菲菲~博客的朋友务必将QQ版本升级至2013版本!
然后下载2013补丁:
2、关闭QQ程序,将附件中的Res.rdb文件解压并复制到QQ安装目录下的Resource.1.89.5192文件夹下面,替换原文件即可。建议替换前备份原文件,方便以后随时恢复原状!
3、完成后登录QQ,点击“更换外观”(最小化按钮的左侧),然后在右下角将QQ2013主界面的透明效果调至“全透明”即可。如下图
当然你还可以任意更换QQ主界面和资料卡的背景皮肤。菲菲注:这里的透明调节是对于QQ主界面和聊天窗口起作用的,而上面的补丁则是针对无法通过透明调节的其他界面来修改的,所以两者互不矛盾!
上一篇文章: 下一篇文章:
子栏目导航
&&&&&&&&&&&&&&&&

我要回帖

更多关于 div背景透明度设置 的文章

 

随机推荐