2012-01-27 4 views
0

У меня есть собственный класс UITableViewCell, и в этом я переопределил метод drawRect для создания хорошего градиентного фона. Тем не менее, мне нужен только градиент для одного случая, и я переключаюсь с помощью инструкции if.drawLinearGradient(), но для сплошного цвета

Есть ли лучший способ написать это?

- (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

Были ли у вас взглянуть на справочный материал Quartz2D компании Apple, чтобы найти альтернативу? –

+0

Спасибо - я не был уверен, где в справочном материале посмотреть, как это первый код кварца, который я сделал. – squarefrog

ответ

Смежные вопросы