NSView 与 CAgradientlayer
你好 我有一个简单的应用程序,其中有一些自定义视图,我想使用 CAgradientlayer 在其中一些视图中添加渐变效果,但我的代码不能很好地工作,我的代码
gradientLayer.bounds = CGRectMake(0, 0, [customer_general_view bounds].size.width, [customer_general_view bounds].size.height);
CGColorRef color1 = CGColorCreateGenericRGB(0.98, 0.98, 0.98, 1);
CGColorRef color2 = CGColorCreateGenericRGB(1, 1, 1, 1);
NSNumber *stopOne = [NSNumber numberWithFloat:0.00];
NSNumber *stopTwo = [NSNumber numberWithFloat:0.02];
NSNumber *stopThree = [NSNumber numberWithFloat:0.02];
NSNumber *stopFour = [NSNumber numberWithFloat:0.50];
NSNumber *stopFive = [NSNumber numberWithFloat:0.50];
NSNumber *stopSix = [NSNumber numberWithFloat:0.95];
NSNumber *stopSeven = [NSNumber numberWithFloat:1.00];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, stopThree, stopFour, stopFive, stopSix, stopSeven, nil];
//Package the new color pair in an array (the format required for CAGradientLayer)
NSArray *colors = [NSArray arrayWithObjects:(id) color1, color2, nil];
[gradientLayer setColors:colors];
gradientLayer.locations = locations;
//Release the colors
CGColorRelease(color1);
CGColorRelease(color2);
[customer_general_view setLayer:gradientLayer];
[customer_general_view setWantsLayer:YES];
我不知道我是否遗漏了一些东西。
Hi
I have a simple application where I have a some custom views and I want to add a gradient effect in some of them with CAgradientlayer but my code doesn't work well, my code
gradientLayer.bounds = CGRectMake(0, 0, [customer_general_view bounds].size.width, [customer_general_view bounds].size.height);
CGColorRef color1 = CGColorCreateGenericRGB(0.98, 0.98, 0.98, 1);
CGColorRef color2 = CGColorCreateGenericRGB(1, 1, 1, 1);
NSNumber *stopOne = [NSNumber numberWithFloat:0.00];
NSNumber *stopTwo = [NSNumber numberWithFloat:0.02];
NSNumber *stopThree = [NSNumber numberWithFloat:0.02];
NSNumber *stopFour = [NSNumber numberWithFloat:0.50];
NSNumber *stopFive = [NSNumber numberWithFloat:0.50];
NSNumber *stopSix = [NSNumber numberWithFloat:0.95];
NSNumber *stopSeven = [NSNumber numberWithFloat:1.00];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, stopThree, stopFour, stopFive, stopSix, stopSeven, nil];
//Package the new color pair in an array (the format required for CAGradientLayer)
NSArray *colors = [NSArray arrayWithObjects:(id) color1, color2, nil];
[gradientLayer setColors:colors];
gradientLayer.locations = locations;
//Release the colors
CGColorRelease(color1);
CGColorRelease(color2);
[customer_general_view setLayer:gradientLayer];
[customer_general_view setWantsLayer:YES];
I don't know if i'm missing something.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我解决了制作 NSView 子类的问题。在标题中我写道:
在实现中我写道:
但我无法解决 CAgradient 层的问题,如果有人有答案那就太好了
I solve my problem making a subclass of NSView. In the header I wrote:
And in the implementation I wrote:
But I couldn't solve the problem with the CAgradient layer if anyone has a answer for that it would be great