水平渐变效果很好。有没有办法从水平渐变中获得垂直颜色渐变?我看到了一个相关的问题,他们通过旋转帧来实现这一点。
是否有更简单的方法来实现垂直渐变?
水平渐变效果很好。有没有办法从水平渐变中获得垂直颜色渐变?我看到了一个相关的问题,他们通过旋转帧来实现这一点。
是否有更简单的方法来实现垂直渐变?
默认情况下,startPoint和endPoint会使渐变从上到下显示颜色(在我看来是一个垂直渐变)。如果您想让渐变从左到右显示(同样在我的想法中这是一个水平渐变),请在CAGradientLayer上使用以下代码:
[gradientLayer setStartPoint:CGPointMake(0.0, 0.5)];
[gradientLayer setEndPoint:CGPointMake(1.0, 0.5)];
不必使用3D变换。
将它旋转90º怎么样?
编辑 从您的评论中判断,似乎您是通过CAGradientLayer
来实现这个功能的。 CAGradientLayer
是CALayer
的子类,拥有一个transform
属性。 这个transform
属性需要一个CATransform3D
,它是一种表示应用于图层的某种线性变换(如缩放、平移或旋转)的结构体。
所以你只需要创建一个旋转的CATransform3D
,并将其设置为你的CAGradientLayer
的transform
属性。
您也可以通过调整startPoint
和endPoint
来使其工作(这可能会更简单)。