300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ios设置父视图半透明而子视图(子控件)不透明

ios设置父视图半透明而子视图(子控件)不透明

时间:2019-07-09 10:34:21

相关推荐

ios设置父视图半透明而子视图(子控件)不透明

自己能够做到的实现这样的效果,现在大概有五种方法。看到要实现这样的效果,我们每个人最先想到的应该是调整那个视图的alpha值(0~1)。但是如果你的这个视图上还有个要正常显示的子控件的话,你这样写是达不到效果的,这样写导致,只要在这个视图上的控件都会显示半透明,要想达到背景半透明而子控件不透明最简单办法是:一.用一张半透明的图片作为背景。这样的话就需要你们的UI给你做一个你所需要的图片,(在项目中能不用图片的地方尽量不要用图片)二 .使用colorWithWhite:alpha 方法View.backgroundColor = [UIcolor colorWithWhite:0.2f alpha: 0.5];这个方法是我之前做项目最常用的方法,0.2f 表示灰度,alpha就是你想要调的透明度,这个方法只能设置黑与白之间的半透明。三.使用colorWithRed:green:blue:alpha:方法这个方法可以任意设置我们想要的半透明色彩,以前只是给视图设置想要的色彩,以此偶然的机会,竟然发现它可以做任何我们想要的半透明背景而子控件不透明(以前没发现,小失误)View.backgroundColor = [UIcolor colorWithRed:0.2f green:0.4f blue:0.5f alpha: 0.5];0.2f 0.4f 0.5f 为相应的色度,如果你们的UI给你们的颜色为242 122 145 时,我们可以这样写:View.backgroundColor = [UIcolor colorWithRed:242/255 f green:122/ 255 f blue:145 / 255 f alpha: 0.5];同样达到你们想要的效果!四.在xib或者storyBoard里面对背景进行设置如图:

435323-416cfd6efb5ac77c.png

通过对背景颜色设置图中的Opacity滑块调整透明度,同样可以达到设置背景半透明而子控件不透明的目的。五.使用colorWithAlphaComponent:方法和前面说的几个设置背景色的方法不太一样的是,这是一个实例方法,一个UIColor的实例调用此方法后会返回一个带透明度的UIColor.使用方法如下:UIColor *color = [UIColor blackColor]; View.backgroundColor = [color colorWithAlphaComponent:0.5];这个方法也可以实现我们想要的效果。今后还有什么好的方法我会持续更新!

作者:轻斟浅醉17链接:/p/a8dae71f6fca來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。