Wonderful 这个库主要是与UIColor息息相连的,其中一共包含四个子文件,UIColor+Wonderful,UIColor+Separate,SXColorGradientView,SXMarquee。分别对应颜色扩展,色彩分离,颜色渐变,和跑马灯 4种主要功能。

项目地址:https://github.com/dsxNiubility/Wonderful

一、UIColor+Wonderful

1.这个分类提供了100多种的颜色扩展,譬如卡其色,银色,草坪绿,金色,巧克力色,等等。 虽然这个功能可能不太适合UI规范都直接制定好了的企业级的App,但是对于一些小型的App和Demo类程序还是有一些用武之地的。再也不用redColor buleColor了,再也不用想要一点特殊颜色就要colorWithRGB了。 只要引入了这个库,大部分的常用颜色都可以直接使用。

    self.view.backgroundColor = [UIColor khakiColor];
self.view.backgroundColor = [UIColor chocolateColor]; 

2.平均每个色系有10种颜色,不仅可以使用名称直接敲出,还能使用颜色阶梯的宏敲出,在你想不起词的时候更加方便。 宏从1~10是颜色渐深,可以根据自己的感觉使用浅一级的宏或深一级的宏。

    self.view.backgroundColor = Wonderful_YelloeColor4;
self.view.backgroundColor = Wonderful_BrownColor4;

3.提供了颜色微调方案,可以让一个已知颜色的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.

这个可以先看一下效果展示:(gif图可能比较模糊,但实际上过渡是做的十分高清的)

  

二、UIColor+Separate

1.提供颜色分离方案,可以将任何颜色的RGB 和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.可以通过一个颜色算出此颜色的反色,使得背景无论被用户设置成什么色,文字颜色都是背景的反色。

    self.showLbl1.backgroundColor = [UIColor peachRed];
self.showLbl1.textColor = [[UIColor peachRed]reverseColor];

3.也可以直接打印这个颜色的各项详细数值

[[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

三、SXColorGradientView

1.颜色渐变的view,可以设置任何颜色到透明的过渡。 如果有意,完全可以将导航栏设置成从上往下的渐变色。当下这种渐变色基本都是以一张背景图片,并且还不宜改变,使用原生方法实现渐变色的成本肯定比图片要小。

    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.可以设置向上下左右四个过渡的方向。

typedef NS_ENUM(NSInteger, SXColorGradientDirection) {
SXColorGradientToTop = 1,
SXColorGradientToLeft = 2,
SXColorGradientToBottom = 3,
SXColorGradientToRight = 4,
};

*4.后续会增加传入一个数组,然后搭建一个多个颜色过渡的view。

四、SXMarquee

1.现在iOS的项目中,带有跑马灯的项目少之又少,安卓有自带的跑马灯控件,但iOS出于各种原因,至少我还没见过带跑马灯的项目,其实这个功能应该是很常用很方便很有意义的。 当下做跑马灯的第三方库没有几个,并且大多存在下列问题:代码老旧,实现复杂,只能实现白色的背景,不能绑定点击事件,点击暂停拖动等。

    SXMarquee *mar3 = [[SXMarquee alloc]initWithFrame:CGRectMake(20, 390, 335, 25) speed:2 Msg:@"If you've submitted an update to fix a critical bug in your app on the App Store and you are requesting an expedited review." bgColor:[UIColor goldColor] txtColor:[UIColor goldenrod]];
[mar3 changeMarqueeLabelFont:[UIFont boldSystemFontOfSize:12]];
[mar3 start];

2.跑马灯的背景可以设置任何颜色,这个是基于颜色过渡view做的。

3.跑马灯可以实现点击拖动,或者绑定更多点击事件。

如果你不是在董铂然博客园看到本文 可点击查看原文

推荐一个iOS关于颜色的库-Wonderful的更多相关文章

  1. iOS 推荐一个下载用的第三方库

    AFNetworking有下载功能,但是下载功能比较基本,要实现复杂下载功能需要自己写一些代码.今天在github上找到了一个下载功能的开源项目,非常不错,链接如下:https://github.co ...

  2. 推荐一个我写的Python库——PyNAS

    介绍 PyNAS是一个以Python的Updog的库为基础,制作而来的库 安装 pip安装(推荐) pip install PyNAS 源码安装(推荐) Github: git clone https ...

  3. 推荐一个Android开发懒人库 -- ButterKnife

    ButterKnife -- 项目地址:https://github.com/JakeWharton/butterknife 都说程序员都是比较懒的,什么事情都想着让程序自动化帮忙减轻工作量,这个开源 ...

  4. 推荐一个iOS应用UI界面设计站点

    Patterns是一个分享ios应用UI界面的站点,专注于分享iOS应用UI界面的细节.依照设计元素进行分类,依照iOS经常使用功能对各类UI进行分类展示. 链接:url=http%3A%2F%2Fw ...

  5. 推荐一个 .Net Core 的 Redis 库

    这是一个网友写的,原文如下: https://www.cnblogs.com/kellynic/p/9803314.html

  6. 极力推荐一个简单好用的C++JSON库

      极力推荐一个简单好用的C++JSON库CJsonObject,让使用json如使用C++原生的结构体那般方便,随心所欲.CJsonObject是个优秀的C++JSON库,也许会是你见过的最为简单易 ...

  7. 自己动手写一个iOS 网络请求库的三部曲[转]

    代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大 ...

  8. iOS开发常用第三方库

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  9. iOS -- 开源项目和库

    TimLiu-iOS 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 ...

随机推荐

  1. JavaScript Arguments.callee解释

    Arguments.callee : 返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文.[function.]arguments.callee可选项 functio ...

  2. ASP.NET MVC之表单集合数据自动绑定到对象属性(集合)中

    前言 之前没遇到过这个问题,在项目中遇到这个问题时想法挺好,按照流程走下去,结果事与愿违,于是开始探索着解决方案,接下来我们来看看这个问题,早已经明了的童鞋请绕道,此文仅供未遇到的童鞋提供一种解决方案 ...

  3. ASP.NET MVC之Session State性能问题(七)

    前言 这一节翻译一篇有关Session State性能问题的文章,非一字一句翻译. 话题 不知道我们在真实环境中是否用到了Session State特性,它主要用来当在同一浏览器发出多个请求时来存储数 ...

  4. 哪些HTML5特性值得期待

    首先大家可以看一下<HTML5程序设计(第二版)>最后一章关于HTML5未来展望.地址:http://www.ituring.com.cn/article/1690?q=html5%E6% ...

  5. 【基础进阶】URL详解与URL编码

    作为前端,每日与 URL 打交道是必不可少的.但是也许每天只是单纯的用,对其只是一知半解,随着工作的展开,我发现在日常抓包调试,接口调用,浏览器兼容等许多方面,不深入去理解URL与URL编码则会踩到很 ...

  6. 解决HubbleDotNet搜索引擎索引数据不全的问题

    HubbleDotnet是国产.NET平台搜索引擎的翘楚,开放源代码,使用方便,不过我一直在非生产环境下使用.官方网页在HubbleDotNet开源全文搜索数据库项目--技术详解. 以前当数据库使用M ...

  7. iOS开发之画图板(贝塞尔曲线)

    贝塞尔曲线,听着挺牛气一词,不过下面我们在做画图板的时候就用到贝塞尔绘直线,没用到绘制曲线的功能.如果会点PS的小伙伴会对贝塞尔曲线有更直观的理解.这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝 ...

  8. 关于CLR、CIL、CTS、CLS、CLI、BCL和FCL 的区分与总结

    关于CLR.CIL.CTS.CLS.CLI.BCL和FCL 的区分与总结 如果要想深入学习.NET平台,那么标题中的这些关键字对你来说并不陌生,这些名词构成了.NET庞大的生态系统,为了宏观认识.NE ...

  9. EasyUI管理后台模板(附源码)

    下载地址:http://files.cnblogs.com/wyguo/easyui_demo.zip

  10. Apworks框架实战(二):开始使用

    要使用Apworks进行应用程序开发,您需要安装Visual Studio 2012以上的版本(以下简称Visual Studio 2012+),从Apworks 2.5开始,需要Micrsoft.N ...