2016-11-21 3 views
0
@implementation AVSuperView 

- (AVSuperView*)initWithFrame:(CGRect)frame{ 
    if (self = [super initWithFrame:frame]) { 
//  self.backgroundColor = [UIColor redColor]; 
     self.layer.backgroundColor = [[UIColor redColor] CGColor]; 
     AVLayout* avLayout = [[AVLayout alloc] init]; 

В пользовательском UIView, например. выше, кажется, self.backgroundColor и self.layer.backgroundColor - это то же самое. Есть self.backgroundColor обертка для self.layer.backgroundColor?Любая разница между `self.backgroundcolor` и` self.layer.backgroundcolor`?

ответ

3

self.backgroundColor обертка для self.layer.backgroundColor?

Да, это как раз то, что есть. То же самое относится к frame, alpha и opacity, а также к другим другим свойствам (не говоря уже о том, что рисунок в представлении фактически является рисунком в слое).

Вид и его нижний слой очень связаны друг с другом. В некотором смысле, вид существует только для того, чтобы наделить слой способностью получать штрихи.

+0

Возможно, вы захотите ознакомиться с обсуждением в моей онлайн-книге: http://www.apeth.com/iOSBook/ch16.html#_view_and_layer – matt

Смежные вопросы