这个难倒我。我有一个我在 a的方法CALayer
中创建的,如下所示:UIViewController
viewDidLoad
- (void)viewDidLoad {
[super viewDidLoad];
UIImage* img = [UIImage imageNamed:@"foo.png"];
_imageLayer = [[CALayer alloc] init];
_imageLayer.bounds = CGRectMake( 0, 0, img.size.width, img.size.height);
_imageLayer.position = CGPointMake( self.view.bounds.size.width/2.0, self.view.bounds.size.height/2.0 );
_imageLayer.contents = (id)img.CGImage;
_imageLayer.contentsScale = img.scale;
[self.view.layer addSublayer:_imageLayer];
[_imageLayer setNeedsDisplay];
}
从UIViewController
nib 加载并放入UITabBarController
在代码中创建的 a 中。
我的问题是当它变得可见时CALayer
它不会呈现它的UIImage
内容。UIViewController
我可以CALayer
渲染的唯一方法UIImage
是将其内容设置为可见UIImage
之后UIViewController
,例如在viewDidAppear:
方法中。
我真的更愿意在方法中完成我的所有设置viewDidLoad
(这不是它的用途吗?)。我如何获得CALayer
渲染其内容?