这是我在实际开发中常用的一些基于Swift的UI控件,把它整理成了一套基础的UI框架。
一、功能介绍
根据功能分为基础部分、扩展部分共两个部分:
1、基础部分
1.1.基础结构
-
NX:全局变量和方法,设备、屏幕、颜色、字号等信息;封装跟UIView、UILabel、UIImageView、CALayer对等的模型。 -
NXAny:遵守Equatable协议的类类型的基类 -
NXItem:渲染UITableView、UICollectionView的单元格的模型基类。 -
NXCollection:封装UITableView数据,封装UICollectionView数据 -
NXAction::封装通用表单单元格的数据模型
1.2.基础UI
-
NXView:setupSubviews、updateSubviews方法用于初始化视图和刷新视图 -
NXCView<C:UIView>:包含C类型的contentView内容视图属性 -
NXLRView<L:UIView, R:UIView>:包含L类型的lhsView、R类型的rhsView属性 -
NXLCRView<L:UIView, C:UIView, R:UIView>:包lhsView、centerView、rhsView属性 NXAutoresizeView<C:UIView>-
NXBackgroundView<B:UIView, C:UIView>:包含B类型的backgroundView背景视图属性、C类型的contentView内容视图属性 -
NXNaviView:自定义导航栏,仿系统的UINavigationBar,被NXViewController持有 -
NXToolView:自定义底部工具栏 -
NXSwipeView:自定义左右滑动视图,与NXSwipeViewController配合使用 NXWebViewNXTableViewNXTableViewCellNXTableReusableViewNXCollectionViewNXCollectionViewCellNXCollectionReusableView-
NXAnimationView:动画视图 NXApplicationViewNXTableSubviewCell<T:UIView>NXCollectionSubviewCell<T:UIView>NXApplicationViewCellNXActionViewCell
1.3.控制器
-
NXViewController:视图控制器基本,包含导航栏、内容视图、加载动画等功能 -
NXTableViewController:NXTableView视图控制器 -
NXCollectionViewController:NXCollectionView视图控制器 -
NXWebViewController:NXWebView视图控制器 -
NXNavigationController:导航控制器 -
NXContainerController:容器控制器 -
NXToolViewController:仿系统UITabBarController -
NXSwipeViewController:仿系统UIPageViewController
1.4.弹框
NXOverlay-
NXActionView:仿系统UIAlertController -
NXHUD:弱提示
1.5.扩展
DispatchQueue+NXKitString+NXKitUIButton+NXKitUIImage+NXKitUILabel+NXKitUIView+NXKit
1.6.服务
-
NXObserver:应用内通知 -
NXKVOObserver:KVO封装 -
NXStorage:基于UserDefaults存储的封装 -
NXFS:本地文件的读写 -
NXRouter:路由管理器 -
NXRequest:基于网络请求的封装
1.7.资源文件
-
NXKit.bundle:包含图片资源和json文件
2、扩展部分
2.1.相册选图功能封装
NXAssetNXAlbumNXAlbumViewControllerNXAlbumAssetsViewControllerNXCameraViewControllerNXCameraCaptureControllerNXClipboardViewNXAssetClipViewController
二、如何使用
代码全部开源,点击查看代码。
//仅使用Foundation部分功能:
pod 'NXKit/Foundation'
//或使用全部功能
pod 'NXKit'
你也可以下载代码后修改作为本地pod去使用。
使用案例,可以下载查看Example.
三、其他
- Author:niegaotao, niegaotao@163.com
- License :NXKit is available under the MIT license. See the LICENSE file for more info.