2010-06-05 53 views
0

我知道这看起来像一个简单的任务,这就是为什么我不明白为什么我不能让图像呈现。无法在UIView中绘制UImage :: drawRect

当我建立了我的UIView,我做了以下内容:

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

我创建和我UIView的初始化函数保留的UIImage:

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

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

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

最终我会通过位图上下文来操纵UIImage,然后在drawRe ct从上下文中创建一个CGImage并渲染它,但现在我只是试图让它呈现一个已知的图像。

我一直在挖掘这个网站,以及文档。我沿着CG路径走,尝试着用CGContextDrawImage通过其他人发布的大量例子来绘制它,但那也没用。

所以我回到了似乎是最直接的方式来绘制图像,但它不起作用。

任何帮助将不胜感激。

在此先感谢。

+0

您已经验证该图像是什么,你希望(不为零)和自我。边界是你期望的吗? – wbyoung 2010-06-05 17:28:44

+0

神圣的废话...我不敢相信我忽略了一些如此基本的东西。不知道为什么图像是零...至少现在我知道问题是什么。谢谢!! – Joel 2010-06-05 17:55:34

回答

4

首先,验证self.bounds的大小和位置是你想要的。如果大小为{0,0},则不显示任何内容。请使用此功能:

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

同时确保图像不为零:

NSLog(@"%@", image);