drawLinearGradient(),但是为纯色

时间:2012-01-27 11:39:45

标签: iphone objective-c core-graphics drawrect

我有一个自定义的UITableViewCell类,在其中我覆盖了drawRect方法以生成漂亮的渐变背景。但是,我只想要一个案例的渐变,并使用if语句进行切换。

有没有更好的方法来写这个?

- (void) drawRect:(CGRect)rect {
    // Setup gradient
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGColorRef topColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0].CGColor;
    CGColorRef bottomColor = [UIColor colorWithRed:240.0/255.0 green:240.0/255.0 blue:240.0/255.0 alpha:1.0].CGColor;

    CGRect cellRect = self.bounds;

    if (!isDescription)
        drawLinearGradient(context, cellRect, topColor, bottomColor);
    else
        drawLinearGradient(context, cellRect, bottomColor, bottomColor); 

}

当我想要一个实体时,看起来很傻。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

尝试在此处查看CGContextFillRect:http://developer.apple.com/library/IOs/documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html

您需要先将bottomColor设置为填充颜色