无法在UIView :: drawRect中绘制UIimage

时间:2010-06-05 17:25:39

标签: objective-c uiview uiimage drawrect

我知道这似乎是一个简单的任务,这就是为什么我不明白为什么我不能让图像渲染。

当我设置我的UIView时,我会执行以下操作:

myUiView.backgroundColor = [UIColor clearColor];
myUiView.opaque = NO;

我在UIView的init函数中创建并保留UIImage:

image = [[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"]] retain];

然后我的drawRect看起来像这样:

- (void) drawRect:(CGRect) rect
{
    [image drawInRect:self.bounds];
}

最终我将通过位图上下文操作UIImage,然后在drawRect中创建一个CGImage,从而渲染它,但是现在我只是想让它渲染一个已知的图像。

我一直在浏览这个网站,以及文档。我已经沿着CG路径走下去,尝试使用CGContextDrawImage绘制它,跟随其他人发布的众多示例,但这也没有用。

所以我回到了最简单的绘制图像的方式,但它没有用。

非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:4)

首先,验证self.bounds的大小和位置是否符合您的要求。如果大小为{0,0},则不会显示任何内容。使用此功能检查:

NSLog(@"%@", NSStringFromCGRect(self.bounds));

同时确保图像不是零:

NSLog(@"%@", image);