【发布时间】:2012-09-14 01:43:20
【问题描述】:
根据 Mac Dev Center 文档,您应该能够设置 CALayer 的 contents 属性并自动渲染。但是,我仍然无法通过稍后将子层添加到 UIView 的根目录来显示简单的图像。我尝试了多种不同的变体;这是我目前所拥有的:
(注意:我知道还有其他渲染图像的方法;出于我的目的,我想使用 CALayer 来处理我将要讨论的一些更复杂的东西)。
(在 ViewController 的 viewDidDisplay() 中):
CALayer *theLayer = [CALayer layer];
[[[self view] layer] addSublayer:theLayer];
theLayer.contents = (id)[[UIImage imageNamed:@"mypic.png"] CGImage];
theLayer.contentsRect = CGRectMake(0.0f, 0.0f, 300.0f, 300.0f);
theLayer.bounds = CGRectMake(0.0f, 0.0f, 300.0f, 400.0f);
有人知道我做错了什么吗?
谢谢!
【问题讨论】:
-
谢谢本 - 你明白了。我的问题是 contentsRect 太大了——没有意识到它是一个单位坐标空间。有趣的是,图像被放置在高处和左侧(我只看到它的右下角 1/4) - 我必须调整位置以使图像的左上角位于右上角的屏幕。谢谢!
标签: iphone