0

这是我的 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 方法,一切都会好起来的。错误在哪里?

4

3 回答 3

0

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

于 2012-05-22T20:56:33.627 回答
0

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

 viewName.backgroundColor = [UIColor clearColor];
于 2014-02-24T21:42:13.717 回答
0

我遇到过同样的问题。试图画简单的圆圈。创建了一个简单的UIView子类,覆盖drawRect并总是在圆圈后面呈现一个黑色方块。

self.backgroundColor = [UIColor clearColor];

在init中修复它!

于 2015-09-02T19:06:06.413 回答