我創建了CAGradientLayer
有三種顏色,我需要給每個顏色不同的位置。 例子:如何給CAGradientLayer「位置」
Red = 0 to 50 %
Yellow = 51 to 80 %
Green = 81 to 100 %
我試圖與給startPoint
和endPoint
,但沒有奏效。
我創建了CAGradientLayer
有三種顏色,我需要給每個顏色不同的位置。 例子:如何給CAGradientLayer「位置」
Red = 0 to 50 %
Yellow = 51 to 80 %
Green = 81 to 100 %
我試圖與給startPoint
和endPoint
,但沒有奏效。
如果你把下面的代碼放到一個遊樂場,你會得到的確切所需的輸出:
let view = UIView(frame: CGRectMake(0,0,200,100))
let layer = CAGradientLayer()
layer.frame = view.frame
layer.colors = [UIColor.greenColor().CGColor, UIColor.yellowColor().CGColor, UIColor.redColor().CGColor]
layer.locations = [0.0, 0.8, 1.0]
view.layer.addSublayer(layer)
XCPShowView("ident", view: view)
對外輸出:
您只需定義顏色的CGColors
數組以及相同大小的陣列,每個陣列的大小在0.0和1.0之間。
不使用startPoint
和endPoint
爲 - 它們是從哪裏到哪裏的梯度在所述層限定所示 - 它沒有任何與所述百分比和顏色等
最近的Swift3版本的代碼:
let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
let layer = CAGradientLayer()
layer.frame = view.frame
layer.colors = [UIColor.green.cgColor, UIColor.yellow.cgColor, UIColor.red.cgColor]
layer.locations = [0.0, 0.8, 1.0]
view.layer.addSublayer(layer)
PlaygroundPage.current.liveView = view
究竟你在哪裏掙扎?該圖層有兩個屬性「顏色」和「位置」,應該對您有用。什麼語言btw? – luk2302
您的「示例」不清楚,請解釋0%-50%,51%-80%和81%-100%的含義,並添加您使用的代碼,以便有人可以向您顯示問題,否則我們只能做是引用文檔。 –
漸變圖層上的顏色應該是這樣和那樣的百分比,默認情況下,所有三種顏色將均勻分佈,我想要更改。我正在使用Objective-C。 謝謝。 –