UIView drawRect黑色窗口

时间:2012-05-21 19:19:57

标签: objective-c ios drawrect core-text

这是我的drawRect方法。

- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();

CGMutablePathRef path = CGPathCreateMutable(); //1
CGPathAddRect(path, NULL, self.bounds );

NSAttributedString* attString = [[[NSAttributedString alloc]
    initWithString:@"Hello core text world!"] autorelease]; //2

CTFramesetterRef framesetter =
    CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attString); //3
CTFrameRef frame =
    CTFramesetterCreateFrame(framesetter,
        CFRangeMake(0, [attString length]), path, NULL);

CTFrameDraw(frame, context); //4

CFRelease(frame); //5
CFRelease(path);
CFRelease(framesetter);
}

在视图控制器中加载此视图后,窗口变为黑色。如果我评论drawRect方法,一切都会好的..错误在哪里?

3 个答案:

答案 0 :(得分:0)

我解决了这个问题,用我的自定义uiview创建一个viewController。不是我想要的,但它确实有效..

答案 1 :(得分:0)

尝试将背景颜色设置为透明

 viewName.backgroundColor = [UIColor clearColor];

答案 2 :(得分:0)

我有同样的问题。试图绘制简单的圆圈。创建了一个简单的UIView子类,覆盖了drawRect,并且在圆圈后面总是有一个黑色方块。

self.backgroundColor = [UIColor clearColor];

在init中修复了它!