经常使用Storyboard的童鞋们应该比较清楚怎样设置一个View在runtime中的属性,比方说layer.cornerRadius,layer.borderWidth等。基本上大多数属性都能直接在Keypath中进行设置,除了颜色相关的属性。
办法总是有的,有的童鞋会向恶势力低头,使用代码。
但是,除了使用代码以外,我们可以对UIView或者CALayer进行扩展,这是我从SO上找到的答案,通过extension为UIView或者CALayer添加一个UIColor类型的属性,然后在keypath中设置该属性即可。
UIView版:
//除了设置color以外,还设置了其他几个属性,就避免keypath要写长
CALayer版:
文章来源:
http://www.jianshu.com/p/8894a128c41b