2013-03-04 3 views
0
//inside init 
_color = [UIColor orangeColor]; 
self.backgroundColor = [UIColor clearColor]; 
self.clearsContextBeforeDrawing = NO; 

//inside drawRect 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

CGContextSaveGState(ctx); 
    CGContextAddEllipseInRect(ctx, rect); 
    CGContextSetFillColorWithColor(ctx, 
            _color.CGColor); 
    CGContextFillPath(ctx); 
CGContextRestoreGState(ctx); 

Фон продолжает отображаться как белый, а не прозрачный. Эллипс также не меняет цвет и отображается как черный. Заранее благодарю всех, кто смотрит.DrawRect продолжает рисовать белый фон

+1

Непрозрачное свойство вашего вида отключено? –

+0

Да, я боюсь, что он выключен, и он все еще это делает. – Biclops

ответ

0

Я думаю, вы можете обратиться к этому ответу на ваш вопрос прозрачности: Setting A CGContext Transparent Background

Что касается вашего эллипсом цвета вопроса, правильно отобразить в виде оранжевого эллипса на моем симуляторе, так что вы можете проверить на возможные накладки или другие возможные побочные эффекты от других частей вашего кода.

+0

Я был идиотом, и я установил фон для очистки в init, но не в awakeFromNib. Но спасибо за ваш быстрый ответ. – Biclops

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