view的hidden = yes和alpha = 0.0f之间的区别是什么

joe*_*ebo 21 hidden alpha uiview ios

我有一个问题UIView,隐藏的视图,alpha和不透明之间有什么区别?

设置视图的效果:hidden = yes和view.alpha = 0.0f是相同的.

Tor*_*ter 42

差异很微妙.根据UIView类引用:

  • opaque 告诉系统视图没有透明度,因此渲染速度更快,因为可以跳过混合计算
  • hidden 是布尔属性,它仅更改当前视图的可见性并将其从ui事件中隐藏.
  • alpha 是一个动画属性

设置alpha = 0.0fhidden = YES具有相同的视觉效果.但是hidden,当您拥有大量嵌套视图时,使用实际隐藏视图不仅在图形意义上而且从ui事件中隐藏视图可能会产生更高效的响应链.

  • +1请注意,为了UI事件的目的,UIKit确实将非常低的alpha元素视为隐藏.我最后一次尝试它,阈值是0.1,但没有记录,不应该依赖具体的阈值.但是如果你将alpha动画设为0,通常也不需要隐藏它. (18认同)