一种iOS系统自定颜色方法及系统技术方案

技术编号:18006846 阅读:38 留言:0更新日期:2018-05-21 07:28
本发明专利技术公开了一种iOS系统自定义颜色方法,所述方法包括:设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象,提高了软件代码编译效率。

【技术实现步骤摘要】
一种iOS系统自定颜色方法及系统
本专利技术属于通信
,特别涉及iOS系统自定义颜色方法及系统。
技术介绍
在iOS系统的软件项目开发中,自定义颜色一般采用宏定义的技术方案,利用宏定义把需要的自定义颜色写在预编译中,该技术方案在软件配置时代码多,代码可读性差,进行编译时间的长,并且过多的预编译带来软件性能的瓶颈问题。因此,如何在iOS系统开发中快速自定义颜色,提高代码编译的效率,成为亟待解决的问题。
技术实现思路
鉴于此,本专利技术的目的在于一种iOS系统自定义颜色方法及系统,实现了快速地自定义颜色,提高了软件代码编译效率。根据上述专利技术目的,本专利技术提供一种iOS系统自定义颜色方法,所述方法包括:S1、设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;S2、当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象。优选地,步骤S2具体包括:当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值;根据所述颜色值的格式,对所述颜色值进行解析,获取对应的RGB值或者RGBA值;根据所述RGB值或者RGBA值,生成UIColor对象。优选的,所述方法还包括:将所述步骤S2实现的功能通过函数进行封装,生成一封装函数,所述封装函数的参数名称与所述关键字一致。优选地,所述方法还包括:将系统的原生类进行扩展,生成扩展类,所述扩展类的方法名称与所述颜色配置列表中的关键字一致。优选地,所述方法还包括:当系统运行并调用所述关键字时,在系统的原生类中查询对应的方法名称,若查询不成功,则启动消息转发机制;系统在所述扩展类中查询所述关键字对应的方法名称,若查询成功,则执行所述关键字对应的封装函数。根据上述专利技术目的,本专利技术提供一种iOS系统自定义颜色系统,所述系统包括:配置模块,用于设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;处理模块,用于当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象。优选地,所述处理模块具体包括:获取单元,用于当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值;解析单元,用于根据所述颜色值的格式,对所述颜色值进行解析,获取对应的RGB值或者RGBA值;生成单元,用于根据所述RGB值或者RGBA值,生成UIColor对象。优选地,所述系统还包括一封装模块,用于将所述处理模块的功能通过函数进行封装,生成一封装函数,所述封装函数的参数名称与所述关键字一致。优选地,所述系统还包括一扩展类模块,用于所述将系统的原生类进行扩展,生成扩展类,所述扩展类的方法名称与所述颜色配置列表中的关键字一致。优选地,所述扩展类模块还具体用于,当系统运行并调用所述关键字时,在系统的原生类中查询对应的方法名称,若查询不成功,则启动消息转发机制;系统在所述扩展类中查询所述关键字对应的方法名称,若查询成功,则执行所述关键字对应的封装函数。与现有技术相比,本专利技术提供的iOS系统自定义颜色方法及系统,具有以下有益效果:相较于现有技术中的采用宏定义方式定义颜色,本专利技术在系统软件运行时,通过采用动态调用自定义颜色配置列表的技术方案,提高了代码编译的效率,减少了代码编译的时间,给用户带来方便;自定义颜色配置列表以表格化形式存储,可读性极高,一目了然;软件编译过程中直接调用封装函数,或者直接调用扩展类的方法,无需要写过多复杂的逻辑代码,给用户带来更好的体验。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种iOS系统自定义颜色方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术一种iOS系统自定义颜色方法的流程图;图2是本专利技术一具体实施例的颜色配置列表;图3是本专利技术一种iOS系统自定义颜色系统的组成结构图。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本专利技术相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。如图1所示,根据本专利技术的一个实施例,一种iOS系统自定义颜色方法,所述方法包括:S1、设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;S2、当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象。在系统中设置一颜色配置列表,在所述颜色配置列表中建立关键字与颜色值的一一对应关系。本专利技术的一具体实施例,所述颜色配置列表还包括用以表示所述颜色值的类型,所述类型包括整数、浮点、字符串、字符。所述颜色值的格式用十六进制或者十进制表示,比如,“405eeb”为十六进制。所述颜色值的格式也可用十进制表示,比如[219,219,219]为十进制。如图2所示,图2为颜色配置列表的一具体实施例。所述颜色配置列表的存储形式是Plist文件,所述Plist文件采用的格式是Json格式。从图2可以看出,关键字“Key”与颜色值“Value”一一对应。“Type”用于表示颜色值Value的类型,所述类型包括整数型、浮点型、字符串型。比如,关键字Key“maiBlue”对应的颜色值Value为“405eeb”,所述颜色值Value的类型Type是“String”字符串。所述颜色值的格式为十六进制。优选地,步骤S2具体包括:当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值;根据所述颜色值的格式,对所述颜色值进行解析,获取对应的RGB值或者RGBA值;根据所述RGB值或者RGBA值,生成UIColor对象。在软件代码开发中,需要进行自定义颜色时,在代码中引用所述颜色配置列表中的关键字。系统运行时,查询所述颜色配置列表获取所述关键字对应的颜色值。根据所述颜色值的格式,对所述颜色值进行解析。所述颜色值的格式用十六进制或者十进制表示。若所述颜色值的格式采用十六进制时,按照十六进制的解析方法对所述颜色值进行解析,获取对应的RGB值或者RGBA值。若所述颜色值的格式采用十进制时,按照十进制的解析方法对所述颜色值进行解析,获取对应的RGB值或者RGBA值。并根据解析获得的RGB值或者RGBA值,生成UIColor对象。本专利技术的一具体实施例,以图2的颜色配置列表为例。在代码开发中需要对蓝色进行自定义时,代码中引用了关键字“mainBlue”。系统运行时,查询所述颜色配置列表,获取所述关键字“mainBlue”对应的颜色值“405eeb”,“405eeb”为十六进制格式。采用十六进制格式对“405eeb”进行解析,获取到RGB对应的R、G、B对应的数值。根据所述R、G、B的数值,生成UIColor对象。根据该技术方案,自定义颜色配置列表以本文档来自技高网...
一种iOS系统自定颜色方法及系统

【技术保护点】
一种iOS系统自定义颜色方法,其特征在于,所述方法包括:S1、设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;S2、当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象。

【技术特征摘要】
1.一种iOS系统自定义颜色方法,其特征在于,所述方法包括:S1、设置一颜色配置列表,所述颜色配置列表中建立关键字与颜色值的一一对应关系;S2、当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值,并根据所述颜色值生成UIColor对象。2.如权利要求1所述的iOS系统自定义颜色方法,其特征在于,步骤S2具体包括:当代码引用所述关键字时,获取所述颜色配置列表中所述关键字对应的颜色值;根据所述颜色值的格式,对所述颜色值进行解析,获取对应的RGB值或者RGBA值;根据所述RGB值或者RGBA值,生成UIColor对象。3.如权利要求1所述的iOS系统自定义颜色方法,其特征在于,所述方法还包括:将所述步骤S2实现的功能通过函数进行封装,生成一封装函数,所述封装函数的参数名称与所述关键字一致。4.如权利要求3所述的iOS系统自定义颜色方法,其特征在于,所述方法还包括:将系统的原生类进行扩展,生成扩展类,所述扩展类的方法名称与所述颜色配置列表中的关键字一致。5.如权利要求4所述的iOS系统自定义颜色方法,其特征在于,所述方法还包括:当系统运行并调用所述关键字时,在系统的原生类中查询对应的方法名称,若查询不成功,则启动消息转发机制;系统在所述扩展类中查询所述关键字对应的方法名称,若查询成功,则执行所述关键字对应的封装函数。6.一种iOS系统自定义颜色系统,其特征在于,所述系...

【专利技术属性】
技术研发人员:谢天宸
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1