Wonderful是一个关于色彩的库。
Wonderful不仅是一个酷炫的颜色库,还有很多强大实用的功能,而且使用方便。
Demo
建议使用iPhone6模拟器运行Demo。Demo做得很漂亮,对Wonderful的使用有很大帮助。Demo程序截图:
安装
当前版本:1.1.0
安装要求:iOS 7.0及以后
通过CocoaPods安装
Shell
pod 'Wonderful'
使用
UIColor + Wonderful
1、这个分类里扩充了更多的颜色扩展,以后随手写个小Demo就有很多漂亮的颜色可以用了,而且用法和系统自带颜色的用法相同,相当方便.
self.view.backgroundColor = [UIColor khakiColor];
self.view.backgroundColor = [UIColor chocolateColor];
2、Wonderful的作者给每个常用色定义了平均9个颜色阶梯的宏,使用起来很方便。 从1~9宏的颜色逐渐变深,可以根据自己的感觉使用浅一级的宏或深一级的宏。
self.view.backgroundColor = Wonderful_YelloeColor4;
self.view.backgroundColor = Wonderful_BrownColor4;
UIColor + Separate
1、提供颜色分离方案,可以将任何颜色的 r、g、b 和 alpha 值取出。
UIColor *testC = [UIColor salmonColor];
float r= [testC red];
float g= [testC green];
float b= [testC blue];
float alpha= [testC alpha];
NSLog(@"****** %f,%f,%f,%f",r,g,b,alpha);
2、提供颜色参数打印方法,可以直接打印颜色的详细参数。
Objective-C
[[UIColor salmonColor] printDetail];
// 打印结果
This Color's Red:250, Green:128, Blue:114, Alpha:1
decimal red:0.9804 green:0.5020 blue:0.4471
Hexadecimal 0xfa8072
3、提供颜色反色方案,可以通过一个颜色算出此颜色的反色。这样无论用户将背景设置成什么色,文字颜色都是背景的反色。
self.showLbl1.backgroundColor = [UIColor peachRed];
self.showLbl1.textColor = [[UIColor peachRed]reverseColor];
4、提供颜色微调方案,可以让一个已知颜色的rgb的某值上升或下降若干。不管背景是什么色,边框都比背景深20。 也可以将认可颜色的详细值打印出来。
UIColor *navColor = [[UIColor redColor] up:SXColorTypeBlue num:30]; // 在红色上把蓝色色值提高30
UIColor *barColor = [[UIColor blueColor] up:1 num:140]; // 可以直接用枚举对应的tag
UIColor *bgColor = [[UIColor blackColor] down:SXColorTypeAlpha num:10]; // 取一个比黑色稍微淡的颜色
UIColor *lineColor = [bgColor up:3 num:20]; // 不管背景是什么颜色 线都比背景浅20
SXColorGradientView
可以自定义颜色渐变的View,可以设置多种样式。
1、设置任何颜色到透明色的渐变过渡。
SXColorGradientView *grv1 = [SXColorGradientView createWithColor:[UIColor paleGreen] frame:CGRectMake(10, 10, 80, 30) visible:YES direction:SXColorGradientToRight];
2、设置两个颜色的渐变过渡。
SXColorGradientView *grv3 = [SXColorGradientView createWithFromColor:[UIColor peruColor] toColor:[UIColor ghostWhite] frame:CGRectMake(10, 50, 80, 30) direction:SXColorGradientToRight];
3、设置多个颜色的渐变过渡。
NSArray *colorArray = @[[UIColor cyanColor], Wonderful_BlueColor3, [UIColor violetColor]];
SXColorGradientView *grv5 = [SXColorGradientView createWithColorArray:colorArray frame:CGRectMake(10, 90, 80, 30) direction:SXGradientToRight];
4、设置喜欢的渐变过渡方向。
typedef NS_ENUM(NSInteger, SXColorGradientDirection) {
SXColorGradientToTop = 1,
SXColorGradientToLeft = 2,
SXColorGradientToBottom = 3,
SXColorGradientToRight = 4,
};
SXMarquee
可以实现多种样式的跑马灯,跑马灯的背景是基于颜色过渡view做的,可以设置任何颜色,还可以为跑马灯绑定点击事件。
SXMarquee *mar3 = [[SXMarquee alloc]initWithFrame:CGRectMake(20, 390, 335, 25) speed:2 Msg:@"Enjoy Sharing" bgColor:[UIColor goldColor] txtColor:[UIColor goldenrod]];
[mar3 changeMarqueeLabelFont:[UIFont boldSystemFontOfSize:12]]; // 可以用默认也可以配置更多属性
[mar3 changeTapMarqueeAction:^{
// 绑定点击事件
}];
[mar3 start];
SXColorLabel
1、将文本中的重要内容用特殊符号包起来,就会特殊显示,如下图:
2、如果用<>包起来,就会显示高亮颜色。如果用[ ]包起来,就会显示高亮的字体。
lbl1.text = @"例1:今天要记得通知和去开会。";
lbl2.text = @"例2:礼物很有[粪]量,你会大吃一[斤]!";
3、高亮颜色和高亮字体可以自行设置。
[SXColorLabel setAnotherColor:[UIColor salmonColor]];
[SXColorLabel setAnotherFont:[UIFont boldSystemFontOfSize:18]];
4、可以混合使用 <> 和 [ ] ,使 高亮的字体里有高亮颜色。
lbl3.text = @"例3:一定要:[通知和去开会]";