本文介绍了如何将渐变应用于 iOS Swift 应用程序的背景视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试应用渐变作为视图(故事板的主视图)的背景颜色.代码运行,但没有任何变化.我使用的是 xCode Beta 2 和 Swift.
I'm trying to apply a gradient as the background color of a View (main view of a storyboard). The code runs, but nothing changes. I'm using xCode Beta 2 and 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)
}
}
}
推荐答案
您提供给渐变的颜色必须是 CGColor
类型.所以将你的 CGColor
数组设置为 gl.colors
.
The Colors you're providing to gradient must be of type CGColor
. So set your array of CGColor
to gl.colors
.
正确的代码是:
class Colors {
var gl:CAGradientLayer!
init() {
let colorTop = UIColor(red: 192.0 / 255.0, green: 38.0 / 255.0, blue: 42.0 / 255.0, alpha: 1.0).cgColor
let colorBottom = UIColor(red: 35.0 / 255.0, green: 2.0 / 255.0, blue: 2.0 / 255.0, alpha: 1.0).cgColor
self.gl = CAGradientLayer()
self.gl.colors = [colorTop, colorBottom]
self.gl.locations = [0.0, 1.0]
}
}
这篇关于如何将渐变应用于 iOS Swift 应用程序的背景视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!