父视图透明而子视图不透明的解决方案

在iOS中,当UIView的alpha值被修改后会影响其子视图的alpha,即透明度。很多时候我们只希望父视图为半透明而其子视图为不透明,这个时候,其中一种办法是将父视图和子视图均加在另一个不透明的视图上,但个人不太喜欢这种解决方法。下面是我今天遇到的情况和解决办法,仅供参考。

我把text field,即手机和密码输入框的透明度设为0.3后,要让其熟悉left view的alpha不随其变化,这里调了很久,因为left view的图标一直看不到,但是层级图上是有的。刚突然想到可以不把text field的透明度调整,直接将其background color设为0.3透明度的白色即可。

以下是修改前的代码和效果图:

self.phoneTextFeild.backgroundColor = [UIColor whiteColor];
self.phoneTextFeild.alpha = 0.3;

self.passWordTextFeild.backgroundColor = [UIColor whiteColor];
self.passWordTextFeild.alpha = 0.3;
父视图透明而子视图不透明的解决方案_第1张图片
修改之前

以下是修改后的代码和效果图:

self.phoneTextFeild.backgroundColor = [UIColor colorWithWhite:1 alpha:0.3];
self.passWordTextFeild.backgroundColor = [UIColor colorWithWhite:1 alpha:0.3];
父视图透明而子视图不透明的解决方案_第2张图片
修改之后

你可能感兴趣的:(父视图透明而子视图不透明的解决方案)