0
我有一個簡單的單視圖應用程序,出於某種原因,我無法在應用程序的UIView
中顯示CALayer
。該視圖的背景色是正確的,但CALayer
中的圖像不可見。我已經完成了調試器中的代碼,我確信圖像正在正確加載。如果不是使用CALayer
我使用UIImageView
一切都如你所願。無法讓CALayer在UIView中顯示
這裏是我的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;
}
感謝 - 這奏效了。現在我明白了爲什麼。 :) – RobertJoseph