UIView的不透明度和alpha是不是相同[重复]

Posted

技术标签:

【中文标题】UIView的不透明度和alpha是不是相同[重复]【英文标题】:Is the opacity and alpha the same thing for UIView [duplicate]UIView的不透明度和alpha是否相同[重复] 【发布时间】:2013-03-01 03:48:51 【问题描述】:

我想使用动画来更改 UIView 的颜色以使其褪色,但是,不知何故我无法访问和设置不透明度,但我可以设置 alpha。我想知道 alpha 和 opacity 是否相同?在网上搜索,我没有找到一个好的答案。非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

自己试试吧!

CALayeropacity 从 0 到 1,而 UIViewalpha 从 0 到 1。它们具有相同的视觉效果。

【讨论】:

它们确实具有相同的视觉效果,但是使用任何一种编码方式都会影响性能吗?【参考方案2】:

实际上“不透明度”是指UIView 的“alpha 通道值”。当视图完全不透明时,这意味着它的alpha = 1,当视图完全透明(非透明)时,它的alpha = 0

关于 Cocoa 中 CALayerUIView 的属性,是的,它们提供相同的功能。

【讨论】:

谢谢亚历克斯!而且我意识到在编码中访问 alpha 比访问 opacity 更容易,因为后者需要导入 QuartzCore 库。 首选方式是什么? view.alphaview.layer.opacity? 如果两件事都一样,一个更容易设置。你可以选择你喜欢的那个。对我来说,Alpha 是首选方式。【参考方案3】:

Alpha 会影响在视图上绘制的所有内容。背景颜色的 Alpha 会影响背景颜色的透明度以及在视图上绘制的任何其他内容。即,它会给整个视图带来冷淡的效果。不透明度意味着不要在下面绘制任何东西,即使你是透明的,它只会影响当前视图。

【讨论】:

它不会影响子视图,因此不是“视图上绘制的所有内容” - 来自 Apple 的文档:“此值仅影响当前视图,不会影响其任何嵌入的子视图" 我认为还有一个困惑......有一个名为“BOOL Opaque”的字段,其中有一些关于它将如何影响子视图的描述......

以上是关于UIView的不透明度和alpha是不是相同[重复]的主要内容,如果未能解决你的问题,请参考以下文章

对圆形和线条使用相同的不透明度和颜色,但在画布上显示奇怪的结果[重复]

如何创建一个从下到上包含 0 到 1 不透明度值(alpha 值)的 UIView?

Swift UIView 在更改 alpha 期间闪烁

设置 WPF 标签内容 Alpha 透明度而不是整个控件的不透明度

如何设置 UIImage 的不透明度/alpha?

UIView的使用