草庐IT

CAGradientLayer

全部标签

ios - 在 ios 中绘制图像渐变

如何以编程方式创建渐变颜色,如下图所示。 最佳答案 当您说“将其作为渐变应用到图像上”时,您的意思是作为蒙版(在顶部显示图像,在底部将图像淡化为透明)吗?如果是这种情况,您可以使用CAGradientLayer将该渐变作为蒙版应用:CAGradientLayer*gradientMask=[CAGradientLayerlayer];gradientMask.frame=self.imageView.bounds;gradientMask.colors=@[(id)[UIColorwhiteColor].CGColor,(id)[U

ios - 在 ios 中绘制图像渐变

如何以编程方式创建渐变颜色,如下图所示。 最佳答案 当您说“将其作为渐变应用到图像上”时,您的意思是作为蒙版(在顶部显示图像,在底部将图像淡化为透明)吗?如果是这种情况,您可以使用CAGradientLayer将该渐变作为蒙版应用:CAGradientLayer*gradientMask=[CAGradientLayerlayer];gradientMask.frame=self.imageView.bounds;gradientMask.colors=@[(id)[UIColorwhiteColor].CGColor,(id)[U

ios - 如何给 CAGradientLayer "locations"

我创建了具有三种颜色的CAGradientLayer,我需要为每种颜色指定不同的位置。示例:Red=0to50%Yellow=51to80%Green=81to100%我已经尝试提供startPoint和endPoint但它没有用。 最佳答案 如果将以下代码放入Playground中,您将获得所需的确切输出:letview=UIView(frame:CGRectMake(0,0,200,100))letlayer=CAGradientLayer()layer.frame=view.framelayer.colors=[UIColor

ios - 如何给 CAGradientLayer "locations"

我创建了具有三种颜色的CAGradientLayer,我需要为每种颜色指定不同的位置。示例:Red=0to50%Yellow=51to80%Green=81to100%我已经尝试提供startPoint和endPoint但它没有用。 最佳答案 如果将以下代码放入Playground中,您将获得所需的确切输出:letview=UIView(frame:CGRectMake(0,0,200,100))letlayer=CAGradientLayer()layer.frame=view.framelayer.colors=[UIColor

ios - CAGradientLayer 属性在 UIView 动画 block 中没有动画

我觉得我忽略了一些基本的东西,但有什么比在Internet上犯错误更好的找到它的方法呢?我有一个相当基本的用户界面。我的UIViewController的View是一个子类,其+layerClass是CAGradientLayer。根据用户的操作,我需要移动一些UI元素,并更改背景渐变的值。代码看起来像这样:[UIViewanimateWithDuration:0.3animations:^{self.subview1.frame=CGRectMake(...);self.subview2.frame=CGRectMake(...);self.subview2.alpha=0;NSAr

ios - CAGradientLayer 属性在 UIView 动画 block 中没有动画

我觉得我忽略了一些基本的东西,但有什么比在Internet上犯错误更好的找到它的方法呢?我有一个相当基本的用户界面。我的UIViewController的View是一个子类,其+layerClass是CAGradientLayer。根据用户的操作,我需要移动一些UI元素,并更改背景渐变的值。代码看起来像这样:[UIViewanimateWithDuration:0.3animations:^{self.subview1.frame=CGRectMake(...);self.subview2.frame=CGRectMake(...);self.subview2.alpha=0;NSAr

objective-c - 混合 CAGradientLayer 用作阴影

我有一个CAGradientLayer用作阴影。它从60%的不透明度逐渐变为透明,从左到右。在渐变的边缘,它似乎与它下面的层混合并使该层变亮:在阴影的最末端有一个一像素宽的“发光”,它从那里褪色到清晰。它似乎使阴影后面的照片在阴影的尾部变亮。这是一个特写:这是产生阴影的代码:CAGradientLayer*layer=[CAGradientLayerlayer];layer.frame=CGRectMake(sideBar.frame.size.width,0,7,sideBar.frame.size.height);layer.colors=[NSArrayarrayWithObje

objective-c - 混合 CAGradientLayer 用作阴影

我有一个CAGradientLayer用作阴影。它从60%的不透明度逐渐变为透明,从左到右。在渐变的边缘,它似乎与它下面的层混合并使该层变亮:在阴影的最末端有一个一像素宽的“发光”,它从那里褪色到清晰。它似乎使阴影后面的照片在阴影的尾部变亮。这是一个特写:这是产生阴影的代码:CAGradientLayer*layer=[CAGradientLayerlayer];layer.frame=CGRectMake(sideBar.frame.size.width,0,7,sideBar.frame.size.height);layer.colors=[NSArrayarrayWithObje

ios - 旋转后如何调整 CAGradientLayer 的大小?

我正在向View中添加一个CAGradientLayer。当View自动调整大小时(例如旋转后),渐变层不会调整大小。可以将渐变设置为与View相同的自动调整大小吗?另请注意,我在View中使用了自动布局约束。这是我正在做的:CAGradientLayer*gradientLayer=[CAGradientLayerlayer];gradientLayer.frame=CGRectMake(0.0,0.0,frame.size.width,frame.size.height);gradientLayer.colors=[NSArrayarrayWithObjects:(id)[[UIC

ios - 旋转后如何调整 CAGradientLayer 的大小?

我正在向View中添加一个CAGradientLayer。当View自动调整大小时(例如旋转后),渐变层不会调整大小。可以将渐变设置为与View相同的自动调整大小吗?另请注意,我在View中使用了自动布局约束。这是我正在做的:CAGradientLayer*gradientLayer=[CAGradientLayerlayer];gradientLayer.frame=CGRectMake(0.0,0.0,frame.size.width,frame.size.height);gradientLayer.colors=[NSArrayarrayWithObjects:(id)[[UIC