【问题标题】:CALayer not rendering its UIImage contentCALayer 不呈现其 UIImage 内容
【发布时间】: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];
}

我错过了什么?

【问题讨论】:

标签: ios core-animation calayer


【解决方案1】:

换行

[body setContents:(id)img];

[body setContents:(id)img.CGImage];

【讨论】:

  • 谢谢。 iOS 上的 CALayer 似乎无法自行从 UIImage 中获取 CGImage。
猜你喜欢
  • 2012-04-21
  • 1970-01-01
  • 2016-09-10
  • 2020-07-26
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多