私はCAGradientLayer
を3色用意して作成しました。 例:CAGradientLayerに "場所"を与える方法
Red = 0 to 50 %
Yellow = 51 to 80 %
Green = 81 to 100 %
私はstartPoint
とendPoint
を与えると試してみましたが、それはうまくいきませんでした。
私はCAGradientLayer
を3色用意して作成しました。 例: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の間の同じサイズのNSNumber
の配列を含む。
いけない、そのために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
正確にあなたは苦労していますか?レイヤーには、あなたのために使うべき色と位置の2つのプロパティがあります。どの言語がbtwですか? – luk2302
あなたの「例」が明確ではない、正確に0%-50%、51%-80%、81%-100%という意味を説明し、使用したコードを追加して、誰かがあなたに問題を示すことができるようにします。ドキュメンテーションを引用することです。 –
グラデーションレイヤーの色は、このようなパーセンテージでなければなりません。デフォルトでは、3つの色すべてが、変更したいと思うように均等に配分されます。私はObjective-Cを使用しています。 ありがとうございます。 –