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];

运行起来,就会发现

 
calayer defaultValueForKey
 

正好是一个黑色的圆形。

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

上一篇:执行sudo时报错:effective uid is not 0


下一篇:关于解决asp.net mvc网站页面Banner图片即时更换css里背景图片url相对路径问题的新方案