在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;
以下是修改后的代码和效果图:
self.phoneTextFeild.backgroundColor = [UIColor colorWithWhite:1 alpha:0.3];
self.passWordTextFeild.backgroundColor = [UIColor colorWithWhite:1 alpha:0.3];