这是我在实际开发中常用的一些基于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
配合使用 NXWebView
NXTableView
NXTableViewCell
NXTableReusableView
NXCollectionView
NXCollectionViewCell
NXCollectionReusableView
-
NXAnimationView
:动画视图 NXApplicationView
NXTableSubviewCell<T:UIView>
NXCollectionSubviewCell<T:UIView>
NXApplicationViewCell
NXActionViewCell
1.3.控制器
-
NXViewController
:视图控制器基本,包含导航栏、内容视图、加载动画等功能 -
NXTableViewController
:NXTableView
视图控制器 -
NXCollectionViewController
:NXCollectionView
视图控制器 -
NXWebViewController
:NXWebView
视图控制器 -
NXNavigationController
:导航控制器 -
NXContainerController
:容器控制器 -
NXToolViewController
:仿系统UITabBarController
-
NXSwipeViewController
:仿系统UIPageViewController
1.4.弹框
NXOverlay
-
NXActionView
:仿系统UIAlertController
-
NXHUD
:弱提示
1.5.扩展
DispatchQueue+NXKit
String+NXKit
UIButton+NXKit
UIImage+NXKit
UILabel+NXKit
UIView+NXKit
1.6.服务
-
NXObserver
:应用内通知 -
NXKVOObserver
:KVO
封装 -
NXStorage
:基于UserDefaults
存储的封装 -
NXFS
:本地文件的读写 -
NXRouter
:路由管理器 -
NXRequest
:基于网络请求的封装
1.7.资源文件
-
NXKit.bundle
:包含图片资源和json文件
2、扩展部分
2.1.相册选图功能封装
NXAsset
NXAlbum
NXAlbumViewController
NXAlbumAssetsViewController
NXCameraViewController
NXCameraCaptureController
NXClipboardView
NXAssetClipViewController
二、如何使用
代码全部开源,点击查看代码。
//仅使用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.