空闲下来后,总结了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图示
左:控件名称可使用自动补全来查找; 右:主演示界面说明
如有需要改进的意见请邮件至:[email protected]
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.