【发布时间】:2014-08-14 08:32:16
【问题描述】:
我正在尝试应用渐变作为视图的背景颜色(故事板的主视图)。代码运行,但没有任何变化。我正在使用 xCode Beta 2 和 Swift。
代码如下:
class Colors {
let colorTop = UIColor(red: 192.0/255.0, green: 38.0/255.0, blue: 42.0/255.0, alpha: 1.0)
let colorBottom = UIColor(red: 35.0/255.0, green: 2.0/255.0, blue: 2.0/255.0, alpha: 1.0)
let gl: CAGradientLayer
init() {
gl = CAGradientLayer()
gl.colors = [ colorTop, colorBottom]
gl.locations = [ 0.0, 1.0]
}
}
然后在视图控制器中:
let colors = Colors()
func refresh() {
view.backgroundColor = UIColor.clearColor()
var backgroundLayer = colors.gl
backgroundLayer.frame = view.frame
view.layer.insertSublayer(backgroundLayer, atIndex: 0)
}
}
}
【问题讨论】:
-
我发布了一个让它变得简单的组件,你可以使用可可豆荚来使用它,我推荐它,因为它非常简单,你可以通过 XCode 上的界面构建器来设置它。查看更多github.com/heuristisk/hkGraddiant
-
您在 CAGradientLayer 的属性颜色上使用了 UIColor 元素,但您必须改用 CGColor!
标签: ios ios7 swift cagradientlayer