2010-01-14 4 views
0

Я создал класс UIViewController. Отображает штраф. Затем я сделал класс UIView для использования с ним. В InterfaceBuilder я устанавливаю класс UIView в свой собственный класс UIView. Я тогда отменяют метод DrawRect в этом классе:UIView drawRect ничего не нарисовал для меня?

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 0); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 

и я могу видеть, что заявление журнал печатает, однако ни один из разрисованным кода на самом деле не имеет никакого видимого эффекта. Прямоугольник не рисуется на экране. Есть ли какая-то другая связь, которую я должен был сделать в InterfaceBuilder для этого?

За исключением установки имени класса для свойства UIView моего контроллера представления в InterfaceBuilder, я ничего не изменил.

Благодаря

ответ

0

Последний аргумент CGContextSetRGBFillColor является альфа цвет заливки. Вы устанавливаете его на ноль, так что вы заполняете прозрачный цвет. Попробуйте следующее:

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 1); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 
... 
+0

Хорошее горе, извините за это, должно было видеть это в документах, спасибо за вашу помощь. – user246114

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