【发布时间】:2014-08-11 15:32:18
【问题描述】:
这个函数在 Swift 中的正确语法是什么?
以下工作正常,并将背景着色为紫色:
self.view.backgroundColor = UIColor.purpleColor()
当我链接 colorWithAlphaComponent 函数时,视图会暂时显示正确的 alpha,然后变为相对较暗的不透明紫色:
self.view.backgroundColor = UIColor.purpleColor().colorWithAlphaComponent(0.5)
这是为 UIColor 添加 alpha 值的推荐函数吗?
此外,为什么智能感知弹出窗口说这个函数需要一个 UIColor 作为参数?例如,
self.view.backgroundColor = UIColor.colorWithAlphaComponent(<#UIColor#>)
编辑:行为很奇怪。我正在以模式加载的视图控制器上设置背景颜色。当模态从底部向上滑动时,alpha 是正确的。当模态加载完成后,背景颜色变为不透明?!
编辑 2:问题不在于代码——上面的代码和下面的建议都正确地应用了 alpha。问题在于模态的呈现方式——底层视图正在被删除。见:
Transparent Modal View on Navigation Controller
【问题讨论】:
-
出于好奇,你试过
UIColor(red: 0.5, green: 0, blue: 0.5, alpha: 0.5)吗? -
我刚试过;与使用
.colorWithAlphaComponent(0.5)时的行为相同。见编辑。 -
奇怪,
colorWithAlphaComponent是实例方法而不是类方法。如果这被定义为类方法,那么根据功能,它应该采用颜色和浮动作为参数。 -
我同意...奇怪。那你也看到了吗?