Make by:弓_雖_子
1.如何自定義Layer.
自定義CALayer的方式創(chuàng)建UIView的方式非常相似.
CALayer *layer = [CALayer layer];
layer.frame = CGRectMake(50, 50, 100, 100);
layer.backgroundColor = [UIColor redColor].CGColor;
[self.view.layer addSublayer:layer];
給layer設(shè)置圖片.
layer.contents = (id)[UIImage imageNamed:@"阿貍頭像"].CGImage;
2.關(guān)于CALayer的疑惑?
為什么要使用CGImageRef、CGColorRef?
為了保證可移植性,QuartzCore不能使用UIImage、UIColor,只能使用CGImageRef、CGColorRef
UIView和CALayer都能夠顯示東西,該怎樣選擇?
對比CALayer,UIView多了一個事件處理的功能。也就是說,CALayer不能處理用戶的觸摸事件,而UIView可以
如果顯示出來的東西需要跟用戶進(jìn)行交互的話,用UIView;
如果不需要跟用戶進(jìn)行交互,用UIView或者CALayer都可以
CALayer的性能會高一些,因為它少了事件處理的功能,更加輕量級