calayer defaultValueForKey

例如:我们新建一个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];
 }

然后,我们在VC里面的view上添加一个SubLayer类型的layer。代码如下:

SubLayer *subLayer = [SubLayer layer];
subLayer.frame = CGRectMake(0,0,40,40);
subLayer.position = CGPointMake(100, 30);
[self.view.layer addSublayer:subLayer];

运行起来,就会发现

 
 

正好是一个黑色的圆形。



作者:刀客传奇
链接:https://www.jianshu.com/p/06598c7702f1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
原文地址:https://www.cnblogs.com/feng9exe/p/10343132.html