我有一个简单的单视图应用程序,由于某种原因,我无法CALayer
在应用程序的UIView
. 视图的背景颜色是正确的,但其中的图像CALayer
不可见。我已经在调试器中逐步完成了代码,并且确定图像正在正确加载。如果CALayer
我不使用 a而不是使用 a ,那么UIImageView
一切都按您的预期工作。
这是我的UIViewController
子类中的代码。你看到我做错了吗?
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor darkGrayColor];
CALayer* cardLayer = [self layerForCard];
[self.view.layer addSublayer:cardLayer];
}
- (CALayer *)layerForCard
{
UIImage* cardImage = [UIImage imageNamed:@"card1.jpg"];
CGSize cardSize = cardImage.size;
CGRect cardRect = CGRectMake(.0, .0, cardSize.width, cardSize.height);
// Container Layer
CALayer *containerLayer = [CALayer layer];
containerLayer.bounds = cardRect;
containerLayer.opacity = 1.0;
// Image Layer
CALayer *imageLayer = [CALayer layer];
imageLayer.bounds = cardRect;
imageLayer.contentsGravity = kCAGravityResizeAspectFill;
imageLayer.contents = CFBridgingRelease(cardImage.CGImage);
[containerLayer addSublayer:imageLayer];
return containerLayer;
}