我只是想在我的视图控制器中显示一个简单的渐变。 此代码不起作用(视图保持白色)。
import UIKit
import QuartzCore
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let ly = CAGradientLayer()
ly.frame = view.bounds
ly.colors = [UIColor.orangeColor(), UIColor.blackColor()]
ly.locations = [0.0, 1.0]
println(view.bounds) // (0.0, 0.0, 320.0, 568.0)
view.layer.addSublayer(ly)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
有趣的是,如果我将ly.backgroundColor
设置为橙色,则视图会变为橙色。
我们可以得出结论,图层有效地位于视图之上,但渐变无效。
答案 0 :(得分:5)
ly.colors = [UIColor.orangeColor().CGColor, UIColor.blackColor().CGColor]
(不要评价我)
ly.colors
的类型为[AnyObject],但需要CGColor对象。由于[AnyObject],Swift没有给出任何关于此的错误,但由于它需要[CGColor]而无法正常工作。