add子图层不会在视图上添加任何子图层



我是按照一个教程的核心动画书,我试图做以下。

@interface ViewController () 
@property (nonatomic, weak) IBOutlet UIView * layerView;
@property (nonatomic, weak) CALayer *blueLayer;
@end
@implementation ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.blueLayer = [CALayer layer];
    self.blueLayer.frame = CGRectMake(50.0f, 50.0f, 100.0f, 100.0f);
    self.blueLayer.backgroundColor = [UIColor blueColor].CGColor;
    [self.layerView.layer addSublayer: self.blueLayer];
}

... 
@end

根据书上的规定,上面的代码应该在屏幕中央的layerView上方打印一个蓝色层。但是,我只能看到layerView,看不到blueLayer。有人知道发生了什么吗?我迷路了。

您应该在这一行得到一个警告

self.blueLayer = [CALayer layer];

由于self.bluelayer是一个弱指针,ARC将在对象创建后立即丢弃它。该属性应声明为strong

最新更新