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】:自己试试吧!
CALayer
的 opacity
从 0 到 1,而 UIView
的 alpha
从 0 到 1。它们具有相同的视觉效果。
【讨论】:
它们确实具有相同的视觉效果,但是使用任何一种编码方式都会影响性能吗?【参考方案2】:实际上“不透明度”是指UIView
的“alpha 通道值”。当视图完全不透明时,这意味着它的alpha = 1
,当视图完全透明(非透明)时,它的alpha = 0
。
关于 Cocoa 中 CALayer
和 UIView
的属性,是的,它们提供相同的功能。
【讨论】:
谢谢亚历克斯!而且我意识到在编码中访问 alpha 比访问 opacity 更容易,因为后者需要导入 QuartzCore 库。 首选方式是什么?view.alpha
与 view.layer.opacity
?
如果两件事都一样,一个更容易设置。你可以选择你喜欢的那个。对我来说,Alpha 是首选方式。【参考方案3】:
Alpha 会影响在视图上绘制的所有内容。背景颜色的 Alpha 会影响背景颜色的透明度以及在视图上绘制的任何其他内容。即,它会给整个视图带来冷淡的效果。不透明度意味着不要在下面绘制任何东西,即使你是透明的,它只会影响当前视图。
【讨论】:
它不会影响子视图,因此不是“视图上绘制的所有内容” - 来自 Apple 的文档:“此值仅影响当前视图,不会影响其任何嵌入的子视图" 我认为还有一个困惑......有一个名为“BOOL Opaque”的字段,其中有一些关于它将如何影响子视图的描述......以上是关于UIView的不透明度和alpha是不是相同[重复]的主要内容,如果未能解决你的问题,请参考以下文章
对圆形和线条使用相同的不透明度和颜色,但在画布上显示奇怪的结果[重复]
如何创建一个从下到上包含 0 到 1 不透明度值(alpha 值)的 UIView?