AxcUIKit,一個快速搭建經常使用UI的控件集合庫

空閒下來後,總結了iOS項目開發中經常使用的幾個控件和複用性,就作了一個AxcUIKit,主要用來快速完成項目中的細節需求,其中部分控件是沿用或改造的其餘優秀的開源三方庫,如:

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

每一個做者都經過郵件聯繫過,聲明過使用和改制權限:github

 

而後將其部分代碼的Public函數和參數命名以AxcUIKit的標準統一化,根據項目需求改制成類函數調用或者和其餘控件,繼承和整合使用,成爲新的衍生控件,在保證內存不泄露的狀況下加入類方法的函數等等。。成爲自成體系的控件集合框架。api

 

其中這個框架有自帶的圖片加載函數,是根據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 的使用請自行研究svg

Features

  •  支持控件全Set入參設置屬性
  •  支持點語法或Set動態設置SetNeedDisplay
  •  支持模塊分離化,可取出部分相關文件獨立使用
  •  支持不少經常使用類擴展的工具類
  •  支持部分控件可繼承使用
  •  支持部分類擴展獨立
  •  支持控件組合使用
  •  支持部分控件Xib使用(詳細請看演示文件註釋)
  •  支持適配框架進行佈局使用

AxcUIKit圖示

控件名稱自動補全 主界面UI展現
左:控件名稱可以使用自動補全來查找; 右:主演示界面說明函數




若有須要改進的意見請郵件至:axclogo@163.com


工具

AxcUIKit命名規範

=======枚舉=======佈局

-枚舉名稱:ui

類擴展枚舉:Axc+擴展類型+控件名稱+功能+Style
(注:若是控件名稱中包含擴展類型則省略擴展類型。如:AxcShimmeringViewStyle)
控件枚舉:Axc+控件名稱+功能+Style3d

-枚舉類型:

類擴展:枚舉名稱+類型
控件:枚舉名稱+類型

=======成員=======

-成員屬性命名:

類擴展: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.

相關文章
相關標籤/搜索