0
所以我的課是這樣的:梯度視圖不工作程序
import UIKit
class GradientBarView: UIView {
override init(frame: CGRect) { // for using CustomView in code
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
func commonInit() {
let gradient = CAGradientLayer()
gradient.frame = bounds
gradient.startPoint = CGPoint(x: 0, y: 0.5)
gradient.endPoint = CGPointMake(1, 0.5)
gradient.colors = [AppColor.SecondaryGreen.CGColor, AppColor.HeritageGreen.CGColor, AppColor.HeritageGreen.CGColor]
layer.insertSublayer(gradient, atIndex: 0)
translatesAutoresizingMaskIntoConstraints = false
}
}
,這是我如何使用它(在我viewDidLoad中)
let gradientBar = GradientBarView(frame: CGRectZero)
self.view.addSubview(gradientBar)
然後添加必要的約束(這是好的)...所以問題是,視圖只是黑色,但如果我通過故事板添加它,它工作得很好
請幫助,我失蹤了什麼?
感謝
您應該使用漸變圖層作爲視圖的圖層。有關詳細信息,請參閱'layerClass'(https://developer.apple.com/reference/uikit/uiview/2098374-layerclass)。 – clemens
你應該爲不同的顏色指定位置(基本上你的startPoint和endPoint是一條線,你需要定位你在該行設置的顏色: 例如:gradient.locations = [NSNumber(value:0.0),NSNumber(value :0.415),NSNumber(值:0.874),NSNumber(值:1.0)] 1是endPoint,0是startPoint。您需要添加每個顏色的1個位置 – Jeremy