私のクライアントは、このグラデーション効果の背景ビューを必要としています。背景のグラデーション:rgb(118,118,118)| #ffffff | rgb(198,198,197)左から右への線形私はこの方法を試しましたが、垂直方向に起こっています水平方向にそれが欲しいです
UIColor *leftColor = [UIColor colorWithRed:118.0/255.0 green:118.0/255.0 blue:118.0/255.0 alpha:1.0];
UIColor *middleColor = [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0];
UIColor *rightColor = [UIColor colorWithRed:198.0/255.0 green:198.0/255.0 blue:197.0/255.0 alpha:1.0];
// Create the gradient
CAGradientLayer *theViewGradient = [CAGradientLayer layer];
theViewGradient.colors = [NSArray arrayWithObjects: (id)leftColor.CGColor, (id)middleColor.CGColor,(id)rightColor.CGColor, nil];
theViewGradient.frame = self.view.bounds;
//Add gradient to view
[self.view.layer insertSublayer:theViewGradient atIndex:0];
GradientLayerのstartPointプロパティとendPointプロパティを設定する必要があります。これらは、最初の色の開始座標と最後の色の終了座標を表します。
これらは両方ともCGPointであり、xとyは0.0と1.0の間の値を持つ必要があります。
デフォルトでは、startPointにはこれらの座標(0.5、0.0)があり、endPointには(0.5、1.0)があります。
(0.0、0.0)は左上隅、(1.0、1.0)は右下隅です
だから試してください:
theViewGradient.startPoint = CGPointMake(0.0, 0.5);
theViewGradient.endPoint = CGPointMake(1.0, 0.5);
Swift 3.0&4.0
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.0, y: 0.5)
**The start and end points of the gradient when drawn into the layer's
coordinate space. The start point corresponds to the first gradient
stop, the end point to the last gradient stop. Both points are
defined in a unit coordinate space that is then mapped to the
layer's bounds rectangle when drawn. (i.e. [0,0] is the bottom-left
corner of the layer, [1,1] is the top-right corner.).The default values
are [.5,0] and [.5,1] respectively.**
theViewGradient.startPoint = CGPointMake(0.0, 0.5);
theViewGradient.endPoint = CGPointMake(1.0, 0.5);