久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【iOS學(xué)習(xí)】CALayer設(shè)定一些屬性的默認(rèn)值

 九辰夕 2016-03-18


+ (nullable id)defaultValueForKey:(NSString *)key的使用

    返回這個(gè)屬性名所對應(yīng)的屬性值的默認(rèn)值,,如果默認(rèn)值是未知的,,則返回nil,子類可以重載這個(gè)方法,,來設(shè)定一些默認(rèn)值,。

 例如:我們新建一個(gè)SubLayer類繼承自CALayer,則在SubLayer.m中重寫此方法,。如下:

     +(id)defaultValueForKey:(NSString *)key{

         if ([key isEqualToString:@"backgroundColor"]) {

             return (id)[UIColor blackColor].CGColor;

         }

         if ([key isEqualToString:@"cornerRadius"]) {

             return @20.0;

         }

         return [super defaultValueForKey:key];

     }

然后,,我們在mainViewController里面的view上添加一個(gè)SubLayer類型的layer。代碼如下:

     SubLayer*subLayer=[SubLayer layer];

     subLayer.frame=CGRectMake(0,0,40,40);

     subLayer.position=CGPointMake(100, NavHeight+30);

     [self.view.layer addSublayer:subLayer];

 

 結(jié)果:我們會發(fā)現(xiàn)sublayer是黑色的并且是圓角的,,如圖

                                                  

 另外,,我們可以新建一個(gè)類SubView繼承自UIView,然后在SubView.m中重寫+(Class)layerClass方法,,代碼如下:

             +(Class)layerClass

             {

                 return [SubLayer class];

             }

 這樣,,我們就把SubViewlayer設(shè)置成了SubLayer類型的。

然后,,我們在mainViewController里面的view上添加一個(gè)SubView類型的viewUIView類型的view1,。代碼如下:

     UIView*view1=[[UIView alloc]initWithFrame:CGRectMake(160, NavHeight+30, 40, 40)];

     view1.backgroundColor=[UIColor magentaColor];

     [self.view addSubview:view1];

     

     SubView*view=[[SubView alloc]initWithFrame:CGRectMake(220,NavHeight+30, 40, 40)];

     [self.view addSubview:view];

 結(jié)果如下圖:(左邊是view1,右邊是view

                                             
       我們也可以在SubLayer中重寫- (instancetype)init

 代碼如下:

         - (instancetype)init

         {

             self = [super init];

             if (self) {

                 self.transform=CATransform3DMakeRotation(M_PI_2, 1, 1, 1);

             }

             return self;

         }

 這樣我們做出來的SubLayer就會旋轉(zhuǎn)90度,。

 代碼如下: 

     self.subLayer=[SubLayer layer];

     self.subLayer.frame=CGRectMake(0,0,40,40);

     self.subLayer.position=CGPointMake(100, NavHeight+30);

     [self.view.layer addSublayer:self.subLayer];

 結(jié)果如圖: 

                                                 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多