草庐IT

CAGradientLayer

全部标签

带有CAGradientLayer的iPhone iOS自定义UIButton,如何使其指示触摸?

我的ViewController中有一个自定义样式的UIButton,它是通过使用CAGradientLayer自定义UIButton、圆角并在图层周围添加边框来实现的。我喜欢这些按钮的外观和感觉,它们也很容易实现,无需使用预渲染图像。但我遇到了一个问题-此类按钮不像UIButton那样响应触摸。例如,一个典型的圆角矩形按钮在被点击时会突出显示蓝色,但我的按钮不会。如果我按照以下代码在UIButton上使用自定义CAGradientLayer背景,我如何实现“触摸突出显示按钮”行为?感谢您的参与!+(void)addLinearGradientToView:(UIView*)viewT

ios - 使用 CAGradientLayer 类更改 UiView IOS 的渐变背景层颜色

我想在触发Action时更改渐变背景的颜色。我尝试了很多方法都没有成功。背景层.h#import#import@interfaceBackgroundLayer:NSObject+(CAGradientLayer*)greyGradient;+(CAGradientLayer*)blueGradient;@end背景图层.m@implementationBackgroundLayer//Metallicgreygradientbackground+(CAGradientLayer*)greyGradient{UIColor*colorOne=[UIColorcolorWithWhite

ios - 带角度的 CAGradientLayer

我正在绘制不是矩形或正方形的CGPath,并将CGPath添加到CAShapeLayer。此CAShapeLayer的框架使用CGPathGetBoundingBox(path)从CGPath获取。所以它将是矩形或正方形。现在我想将渐变颜色设置为图层,但我的路径不是矩形或正方形,因此它不会在整个CGPath中平均分布渐变颜色。有什么方法可以将渐变颜色设置为CGPath或者如何设置带角度的渐变颜色?请引用屏幕截图以了解情况。这里白色表示CGPath的框架,绿色表示我们绘制的CGPath。在CGPath的底部,您可以看到白色渐变颜色在CGPath中分布不均。 最

ios - 带有 CAShapeLayer 的 UIView 不显示 CAGradientLayer

我尝试将辐射应用到自定义形状的UIView如果在我的代码的其他部分经过良好测试和使用,我会使用渐变类别。但是,我无法让它在使用CAShapeLayer创建的自定义形状View中正常运行在我的UIView类别中:@implementationUIView(Grandiant)-(void)addGradientBackgroundFromTopColor:(UIColor*)topColortoBottomColor:(UIColor*)bottomColor{CAGradientLayer*gradient=[CAGradientLayerlayer];gradient.frame=s

ios - 如何像屏保一样改变CAGradientLayer的颜色?

我是通过应用CAGradientLayer颜色效果创建的UIView,因为我附加了ImageBellow。现在在这里我想改变它的渐变颜色从上到下平滑地像屏幕保护程序一样变化。我已经尝试使用NStimer完成了,但它在CAGradientLayer中的颜色变化看起来很糟糕。对于上面我使用了代码的波纹管方法:-Timer=[NSTimerscheduledTimerWithTimeInterval:0.1target:selfselector:@selector(TIMER)userInfo:nilrepeats:NO];-(void)TIMER{Count++;[view_Color1r

iphone - 完成后重置 UIScrollView 掩码中的 CAGradientLayer 位置属性动画

我正在尝试为CAGradientLayer的位置设置动画,以便在UIScrollView到达特定位置时收缩。我将我的渐变设置为UIScrollView的掩码,并调整渐变的locations属性以在ScrollView滚动时扩展一点。这对我来说很好用,除非我试图为位置的变化设置动画。当我执行动画时-无论是作为显式CABasicAnimation还是隐式-动画都能正确执行,但无论出于何种原因,一旦动画完成,它就会将渐变(无动画)的位置更改为一些其他非零起点和终点。它每次都使用相同的值来执行此操作,并且我的代码中的任何地方都没有指定这些值。我是CoreAnimation的新手,所以也许我遗漏

ios - CAGradientLayer 不适用于 iOS 7(但适用于 iOS 6)

我正在使用下面的代码为我的表格单元格添加微妙的渐变效果。//addalayerthatoverlaysthecelladdingasubtlegradienteffectCAGradientLayer*gradientLayer=[CAGradientLayerlayer];NSLog(@"%@",NSStringFromCGRect(cell.bounds));gradientLayer.frame=cell.bounds;gradientLayer.colors=@[(id)[[UIColorcolorWithWhite:1.0falpha:0.2f]CGColor],(id)[[

iphone - 如何将 CAGradientLayer 旋转 180 度?

我为我的自定义UIButton创建了一个CAGradientLayer。创建它的代码如下:CAGradientLayer*gradient=[CAGradientLayerlayer];gradient.frame=btn.bounds;gradient.cornerRadius=10.0f;locations=[[NSArrayalloc]initWithObjects:LOC_0,LOC_5,LOC_51,LOC_1,nil];[gradientsetLocations:locations];colorNext=[[NSArrayalloc]initWithObjects:(id)

ios - 动画 CAShapeLayer/CAGradientLayer

这是对我昨天提出的问题的补充。结果完美,但我想要修改。UsingdrawRecttodraw&animatetwographs.Abackgroundgraph,andaforegroundgraph下面的代码基于上面的线程,生成了一个CABasicAnimation来生成深蓝色“三角形”。我希望它不是深蓝色纯色,而是具有3个色标的CAGradientLayer:红/绿/蓝。我尝试添加一个CAGradientLayer来配置渐变,然后使用addSubLayer将渐变添加到动画出来的CAShapeLayer。我在下面发布的结果没有动画。颜色和形状保持不变。渐变看起来不错,只需要它动画出来

ios - 使用 CAShapeLayer 和 CAGradientLayer 提高渐变边框的性能

我正在使用此方法将渐变边框应用于View。但是,当View位于表格View的单元格中时,表格View的滚动帧率会显着下降。有没有办法提高性能?我尝试按照Apple的建议将opaque、drawsAsynchronously和shouldRasterize设置为true但没有任何改变。funcaddBorder(colors:[UIColor]?=nil,size:CGSize?=nil){_=self.sublayers?.filter({$0.name=="GradientBorder"}).map({$0.removeFromSuperlayer()})letshapeFrame=