zoukankan      html  css  js  c++  java
  • 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

    language Build Status MIT License Platform

    AxcUIKit

    AxcUIKit简要说明

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

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

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

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

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

    MLeaksFinder 的使用请自行研究

    Features

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

    AxcUIKit图示

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




    如有需要改进的意见请邮件至: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.

  • 相关阅读:
    Windows2008R2安装DNS和SQLServer200r2服务 (9.18第七天)
    Windows2008R2安装iis和iis下搭建web服务器(9.18 第七天)
    Ubuntu 安装phpmyadmin (9.17第六天)
    Ubuntu Navicat链接mysql (9.17第六天)
    Spring之AOP由浅入深
    oracle并行模式(Parallel)
    转:Java后端面试自我学习
    Spring Security 简介
    spring boot入门
    git--分布式版本管理系统
  • 原文地址:https://www.cnblogs.com/axclogo/p/7227589.html
Copyright © 2011-2022 走看看