2016-11-21 6 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.backgroundColorself.layer.backgroundColorは同じです。 self.backgroundColorself.layer.backgroundColorのラッパーですか?`self.backgroundcolor`と` self.layer.backgroundcolor`の間に違いはありますか?

答えて

3

self.layer.backgroundColorのラッパーはself.backgroundColorですか?

はい、まさにそのとおりです。同じことが、alphaopacityframe、およびその他のさまざまなプロパティについても当てはまります(ビュー内の図が実際にレイヤー内の図であることは言うまでもありません)。

ビューとその下にあるレイヤーは、最初は非常に結びついています。ある意味では、ビューには、レイヤーにタッチを受け取る機能を与えるためだけに存在します。

+0

私のオンラインブックで議論してみるといいかもしれません。http://www.aptt.com/iOSBook/ch16.html#_view_and_layer – matt

関連する問題