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图示

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

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

时间: 2024-10-05 22:13:50

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

UWP学习记录7-设计和UI之控件和模式4

UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中进行浏览. 对于鼠标,导航按钮显示在鼠标悬停位置上. 对于键盘,使用箭头键移动浏览该集合. 翻转视图最适合浏览小到中型集合中的图像(最多 25 个项目左右). 此类集合的示例包括产品详细信息页中的项目或相册中的照片. 虽然微软不建议将翻转视图用于大多数大型集合,但是该控件通用于查看相册中的个别图像.

一个Activity掌握Android5.0新控件 (转)

原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种. 1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLayout.它是一个带圆角的背景和阴影FrameLayout.CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为容器使用. Ca

【读书笔记-《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)

3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.html Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面比较复杂的话你的XML文件会写得比较庞大,用第二种方式XML页面相对要简洁得多. <?xml version="1

UWP学习记录10-设计和UI之控件和模式7

UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. 中心的内容可以显示在全景视图中,这样用户一眼就能看见新增内容.可用功能和相关信息. 中心通常具有一个页标题,每个内容部分各有一个部分标题. Pivot,透视表控件,用于导航经常访问的不同内容类别. 透视表允许在两个或多个内容窗格之间进行导航,并且依靠文本标题来表明内容的不同部分. SemanticZ

android中常用的小控件------Widgets的使用

好久没有写博客了,都不知博客怎么写了,最近突然想写博客,以帮助更多的人,却又不知道写什么好呢? 好吧  我承认我有点懒惰了,可是程序猿是不应该懒惰的哦,俺要做个好孩子. 好了言归正传,开始介绍下今天的主要内容吧! Widgets一个桌面的小控件    个人认为是很常用的,不知道大神们是不是这么觉得的呢?比如说你开发的一款音乐播放器的软件,可把基本的上一曲和下一曲.暂停的几个功能放在这个小控件里面将它显示在桌面上来,这样就很方便啦,你想要下一曲.上一曲.暂停播放的时候,就不用再打开播放器了,而是直

我教女朋友学编程Html系列(6)—Html常用表单控件

做过网页的人都知道,html表单控件十分重要.基本上我们注册会员.登录用户,都需要填写用户名.密码,那些框框都是表单控件. 本来今天就想写一些常用的html表单控件,于是开始搜资料,找到了一个网页,作者的写作思路和我的基本相同,不过不足的是缺少效果图. 我打算结合着这位仁兄的文章补充一下,增加一些效果图,另外把一些新内容也补充进去,原文的地址是: HTML表单(Forms) 我站在这位仁兄的肩膀上写作,再增加一些东西,配上一些图,我想,效果应该很好,接着就跟着我来学习吧. HTML表单(Form

【读书笔记-《Android游戏编程之从零开始》】3.Android 游戏开发常用的系统控件(Button、Layout、ImageButton)

3.1 Button Button这控件不用多说,就是一个按钮,主要是点击后进行相应事件的响应. 给组件添加ID属性:定义格式为 android:id="@+id/name",这里的name是自定义的,不是索引变量."@+"表示新声明,"@"表示引用,例如:"@+id/tv" 表示新声明一个id,是id名为tv的组件:"@id/tv" 表示引用id名为tv的组件. 给按钮添加点击事件响应  想知道按钮是否被

【读书笔记-《Android游戏编程之从零开始》】8.Android 游戏开发常用的系统控件(系统控件常见问题)

Android 中常用的计量单位Android有时候需要一些计量单位,比如在布局Layout文件中可能需要指定具体单位等.常用的计量单位有:px.dip(dp).sp,以及一些不常用的pt.in.mm.下面详细介绍下这些计量单位之间的区别和联系.in:英寸(长度单位):mm:毫米(长度单位):pt:磅/点,1/72英寸(一个标准的长度单位):sp:全名 scaled pixels-best for text size,放大像素,与刻度无关,可以根据用户的字体大小就行缩放,主要用来处理字体的大小:

一个Activity掌握Android4.0新控件 (转)

原文地址:http://blog.csdn.net/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种. 1. Switch的使用 Switch顾名思义,就是开关的意思,有开和关两种状态. 当Switch处于关闭状态时: 当Switch处于打开状态时: 怎么在定义xml中定义Switch <Switch android:id="@+id/_switch" andr