UIView的透明属性hidden、alpha、opaque

UIView的透明属性hidden、alpha、opaque

alpha

UIView中的alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。
当把alpha的值设置为0以后:
1、当前的UIView和subview都会被隐藏,而不管subview的alpha值是多少。
2、当前UIView会从响应者链中移除,而响应者链中的下一个会成为第一响应者
alpha的默认值是1.0,即不隐藏。
另外:更改alpha值时,默认是有动画效果的,这是因为图层在Cocoa中是由Core Animation中CALayer表示的,该动画效果是CALayer的隐藏动画。当然也是有办法禁用此动画效果。

== ==

hidden

该属性为BOOL值,用来表示UIView是否隐藏,默认值是NO。
当值设为YES时:
1、当前的UIView和subview都会被隐藏,而响应者链中的下一个会成为第一响应者
总之,同alpha为0时的显示效果相同。

====

opaque

该属性值为BOOL值,UIView的默认值是YES,但UIButton等子类的默认值都是NO。opaque表示当前UIView是否不透明,不过事实上,它却决定不了当前UIView是不是不透明,比如你将opaque设为NO,该UIView照样是可见的。(上文说过,是否可见是由alpha或hidden属性决定的)。
opaque属性的真实用处是给绘图系统提供一个性能优化开关。当opaque设置为YES时,GPU就不会再利用图层颜色合成真正的色值,因此,如果opaque被设置为YES,而对应UIView的alpha属性不为1.0的时候,就会有不可预料的情况发生。

====

总结

当把UIView的alpha属性设为0,或者,把hidden 设为YES的时候,当前UIView和它所包含的子UIView都会变成不可见,同时也不会再响应event事件,
注意这里是或的关系,即只要设置了其中的一个都会有此效果,而不管另外一个属性的值是什么。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值