这是我的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方法,一切都会好的..错误在哪里?
答案 0 :(得分:0)
我解决了这个问题,用我的自定义uiview创建一个viewController。不是我想要的,但它确实有效..
答案 1 :(得分:0)
尝试将背景颜色设置为透明
viewName.backgroundColor = [UIColor clearColor];
答案 2 :(得分:0)
我有同样的问题。试图绘制简单的圆圈。创建了一个简单的UIView
子类,覆盖了drawRect
,并且在圆圈后面总是有一个黑色方块。
self.backgroundColor = [UIColor clearColor];
在init中修复了它!