相关疑难解决方法(0)

UIView和UILabels在iPhone上的渐变

可能重复:
在iPhone应用程序中手动绘制渐变?

我的应用程序需要在a UIView或者背景中显示文本,UILabel但是背景必须是渐变而不是true UIColor.使用图形程序创建所需的外观并不好,因为文本可能会根据从服务器返回的数据而有所不同.

有谁知道解决这个问题的最快方法?非常感谢您的想法.

iphone cocoa-touch gradient ios

219
推荐指数
6
解决办法
17万
查看次数

如何将CALayer子类化为另一个CALayer掩码?

我试图将子类CALayer用作另一层的掩码.

我想用我的CALayer子类来代替的CAGradientLayer,并用它的灰度掩模作为解释在这里.

但是我希望使用一个CALayer使用内部CGGradient进行绘制的自定义,因为这应该产生比CAGradientLayer(见这里)更平滑的结果.我不关心性能,我想要更好的渐变质量.

我正在按照这个例子来创建我CGGradient并将它存储在CALayer..然而,我无法得到掩码.

我不知道放在哪里抽奖代码:CALayerdisplay,也不drawInContext:(CGContextRef)ctx也不drawInContext:(CGContextRef)ctx似乎被调用时,它被用作面膜.

跟我一起玩,因为我是CoreAnimation的新手.那么,如何解决这个问题,以便我的CALayer子类可以替代它,CAGradientLayer但是使用CGGradient


我目前的代码在这里:

@interface CANiceGradientLayer : CALayer

@property (nonatomic) CGGradientRef gradient;
@property (atomic) CGPoint startPoint;
@property (atomic) CGPoint endPoint;

@end

@implementation CANiceGradientLayer

- (instancetype)initWithGradientRef:(CGGradientRef)gradient startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint
{
    if ( !(self = [super init]) )
    {
        return nil;
    }

    self.gradient = …
Run Code Online (Sandbox Code Playgroud)

core-animation core-graphics objective-c uiview ios

5
推荐指数
1
解决办法
697
查看次数