首页 > 代码库 > AxcUIKit,一个快速搭建常用UI的控件集合库

AxcUIKit,一个快速搭建常用UI的控件集合库

空闲下来后,总结了iOS项目开发中常用的几个控件和复用性,就做了一个AxcUIKit,主要用来快速完成项目中的细节需求,其中部分控件是沿用或改造的其他优秀的开源三方库,如:

RBPlayer、M13BadgeView、WLUnitField、PPDragDropBadgeView、SDProgress、TTGTagCollectionView、HCSStarRatingView、FSPagerView、DGActivityIndicatorView等等。

每个作者都通过邮件联系过,声明过使用和改制权限:

技术分享

 

然后将其部分代码的Public函数和参数命名以AxcUIKit的标准统一化,根据项目需求改制成类函数调用或者和其他控件,继承和整合使用,成为新的衍生控件,在保证内存不泄露的情况下加入类方法的函数等等。。成为自成体系的控件集合框架。

 

其中这个框架有自带的图片加载函数,是根据SDWebImage 3.8版本进行改制的,用于框架自身的需求而使用,导入后与项目中其他的SDWebImage并不会冲突。

 

传送门:https://github.com/axclogo/AxcUIKit-Sample

 

AxcUIKit-Sample

技术分享 技术分享 技术分享 技术分享

技术分享

AxcUIKit简要说明

以UI构建为主框架,其中部分融合框架已经过MIT授权改造和使用

AxcUIKit是一个针对UI控件做出整合的一个框架,将部分作者优秀的开源作品融合进来,相互结合,衍生出新的使用方法,并且将较为使用频繁的功能(例如小气泡、图片简单处理等)从控件层面扩展到类方法层面,不需要人为进行关联(如果不满足需求可以自己手动关联),通过调用类方法的Set函数或者点语法即可快速调用。

框架中为了搭建演示环境而从Pod库中导入了Masonry 和MLeaksFinder 两个辅助库:

Masonry只是针对示例中的UI布局而使用,AxcUIKit框架本身中并未关联任何其他三方库 ,所有功能均调用框架内部函数;

MLeaksFinder是针对性检测内存泄漏的断言工具 ,防止内存泄漏,用于检测AxcUIKit每个对象函数调用是否严谨,目前未查出内存泄漏问题;

MLeaksFinder 的使用请自行研究

Features

  •  支持控件全Set入参设置属性
  •  支持点语法或Set动态设置SetNeedDisplay
  •  支持模块分离化,可取出部分相关文件独立使用
  •  支持很多常用类扩展的工具类
  •  支持部分控件可继承使用
  •  支持部分类扩展独立
  •  支持控件组合使用
  •  支持部分控件Xib使用(详细请看演示文件注释)
  •  支持适配框架进行布局使用

AxcUIKit图示

技术分享 技术分享
左:控件名称可使用自动补全来查找; 右:主演示界面说明




如有需要改进的意见请邮件至:axclogo@163.com


AxcUIKit命名规范

=======枚举=======

-枚举名称:

类扩展枚举:Axc+扩展类型+控件名称+功能+Style
(注:如果控件名称中包含扩展类型则省略扩展类型。如:AxcShimmeringViewStyle)
控件枚举:Axc+控件名称+功能+Style

-枚举类型:

类扩展:枚举名称+类型
控件:枚举名称+类型

=======成员=======

-成员属性命名:

类扩展:axcUI_+功能+开头小写的属性名称;
控件类:axcUI_+开头小写的属性名称;

-成员函数命名:

类函数:

类扩展:AxcUI_+功能+开头大写的函数名称;
控件类:AxcUI_+开头小写的函数名称;
实例函数:
类扩展:AxcUI_+功能+开头小写的函数名称;
控件类:AxcUI_+开头小写的函数名称;
预设函数:(无参可直接执行的)
类扩展:AxcUI_+开头大写的函数名称;

=======代理委托=======

-代理参数名称

类扩展:axcUI_+开头小写的功能名称+Delegate;
控件类:axcUI_+开头小写的控件名称+Delegate;

-代理协议名称:

类扩展代理:Axc+扩展类名+功能+delegate
控件代理:Axc+控件名称+delegate

-代理委托函数命名

类扩展:AxcUI_+开头小写的函数名称;
控件类:AxcUI_+开头小写的函数名称;

=======文件命名=======

-文件夹名称:

类扩展:类名+‘+’
控件类:AxcUI_开头大写的控件名

-对象命名:

类扩展:类名+‘+’Axc+控件名称
(注:如果控件名称中包含扩展类型则省略扩展类型。如:UILabel+AxcShimmering)
控件类:AxcUI_开头大写的控件名(如果太长则省略部分单词)

Licenses

All source code is licensed under the MIT License.

AxcUIKit,一个快速搭建常用UI的控件集合库