【发布时间】:2013-03-17 22:19:03
【问题描述】:
我正在将 CALayer 从 OS X 移植到 iOS。
我创建了一个单视图应用程序,将图像“body.png”复制到包中,并定义了一个 UIView 子类:
我希望这个方法在我触摸屏幕时添加一个显示图像的图层,但是图像不显示,只显示框架。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * aTouch = [touches anyObject];
CGPoint loc = [aTouch locationInView:self];
CGPoint p=loc;
CALayer * body = [CALayer layer];
UIImage * img =[UIImage imageNamed:@"body.png"];
[body setBounds:CGRectMake(0, 0, 200, 200)];
[body setPosition:p];
if (img) {
NSLog(@"body.png loaded");
[body setBorderWidth:1];
[body setBorderColor:[[UIColor blackColor] CGColor]];
[body setContents:(id)img];
}
else {
[body setBackgroundColor:[[UIColor blueColor] CGColor]];
NSLog(@"body.png not loaded");
}
[[self layer] addSublayer:body];
}
我错过了什么?
【问题讨论】:
-
查看此 [post][1] - 可能您需要 img.CGImage。 [1]:stackoverflow.com/questions/598659/…
标签: ios core-animation calayer