Storyboard使用终于到的问题
我们知道在xib中可以为这个文件中内容添加User Defined Runtime Attributes,这个选项的添加会在runtime的时候自动为这个类添加相应的属性。当时在使用中我们会遇到相应的麻烦,比如在这个选项中添加对应的borderColor。
layer.borderWidth Number 1
layer.borderColor Color redColor
这样的配置设置在运行程序之后,发现button没有borderColor。原因就在于borderColor接受的是一个CGColor的对象,所以需要做相应的转换
@interface CALayer (Addition)
@property (nonatomic, strong) UIColor *xibColor;
@end
@implementation CALayer (Addition)
- (void)setXibColor:(UIColor *)xibColor {
self.borderColor = xibColor.CGColor;
}
- (UIColor *)xibColor {
return [UIColor colorWithCGColor:self.borderColor];
}
@end
经过将layer做了category的拓展了之后,将这个category的头文件放在prefix文件中去,这样在runtime的时候就可以找到这个编译文件了。更改了之后runtime Attributes是这样的
layer.borderWidth Number 1
layer.xibColor Color redColor
这样就OK了
Storyboard中的tabbar Selected Image的问题
当tabbar中的tabbarItem在selected状态下也是不一样的图片的时候就需要在这里设置了,单纯的在xib中设置如下图
单纯的设置这里还是不行的,图片在渲染的时候还是会将xib中的tabbarController中的image tint这个设置给带进去。所以还需要设置对应的颜色渲染
加上这个设置就可以完成想要的效果了。