これは私を困惑させています。私は次のような'sメソッド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
れ、コードで作成された に配置されます。
私の問題は、が表示されたときにコンテンツがCALayer
レンダリングされないことです。をレンダリングできるようにする唯一の方法は、メソッドのように、が表示された後にその内容を に設定することです。UIImage
UIViewController
CALayer
UIImage
UIImage
UIViewController
viewDidAppear:
メソッドですべてのセットアップを行うことを本当に望んでいますviewDidLoad
(それが目的ではないでしょうか?)。CALayer
コンテンツをレンダリングするにはどうすればよいですか?