LZUIKit
LZUIKit 是 UIKit 的扩展
如何安装
CocoaPods
- 基本版本
pod 'LZUIKit', '~> 3.0.0'
- 支持 RxSwift
pod 'LZUIKit+RxSwift', '~> 3.0.0'
SPM
- 在 Package.swift 的 dependencies 增加
.package(name: "LZUIKit", url: "https://github.com/coollazy/LZUIKit.git", .upToNextMajor(from: "3.0.0")),
- 在 target 的 dependencies 增加
.product(name: "LZUIKit", package: "LZUIKit"),
如何使用
按钮
- 创建一个 UIButton
- 设置显示和禁用状态下的标题颜色
- 设置显示和禁用状态下的背景颜色
- 将 isVisibled 设置为 true 或 false 以显示或禁用标题和背景的颜色
let button = UIButton()
.setVisibledTitleColor(.white)
.setDisabledTitleColor(.black)
.setVisibledBackgroundColor(.red)
.setDisabledBackgroundColor(.lightGray)
.setIsVisibled(true)
- 或者您可以为自定义样式设置 onVisibled 和 onDisabled
let button = UIButton()
.setOnVisibled({
$0.setTitle("It's visibled now", for: .normal)
})
.setOnDisabled({
$0.setTitle("It's disabled now", for: .normal)
})
.setIsVisibled(true)
ControllerItem
- 使用控制器名称创建控制器项
let contollerItem = ControllerItem(controller: "ViewControllerName", nibName: "NibName")
- 获取视图控制器名称的实例
let viewController: UIViewController? = controllerItem.viewController
LoadingView
- 这是 UIViewController 的扩展
- 在需要显示加载视图时,使用视图控制器实例调用 showLoadingView
- 在需要隐藏加载视图时,使用视图控制器实例调用 hideLoadingView
OptionTextField
- 显示PickerView的选项的TextField
let optionTextField = OptionTextField()
.setSelectedOption("請選擇")
.setOptions(["1", "2", "3"])
TableViewEmptyMessage
- 在AppDelegate.swift中启用空信息
UITableView.enableEmptyMessage()
- 为每个表格设置空信息
let tableView = UITableView()
.setEmptyMessage("This message will show when tableview is empty")
.setEmptyMessageFontSize(17)
.setEmptyMessageFontWeight(.bold)
.setEmptyMessageColor(.lightGray)
View Corner
- 为UIView及其所有子类提供一个圆角
- 设置圆角长度
let view = UIView()
.setCornerLength(10)
- 或将CornerType设置如下
- none => 表示圆角为0
- bit => 将高度和宽度的较小值除以15
- small => 将高度和宽度的较小值除以5
- medium => 将高度和宽度的较小值除以4
- large => 将高度和宽度的较小值除以3
- halfCorner => 将高度和宽度的较小值除以2
let view = UIView()
.setCornerType(.none)
.setCornerType(.bit)
.setCornerType(.small)
.setCornerType(.medium)
.setCornerType(.large)
.setCornerType(.halfCorner)
Zoom Viewer
一个用于显示具有缩放的视图的查看器
- 创建缩放查看器
// A image array will show by zoom viewer
var images = [UIImage]()
let zoomViewer = ZoomViewer()
.setFrame(.init(x: 50, y: 50, width: 300, height: 500))
.setDataSource(self)
.setDelegate(self)
.setMinimumZoomScale(1)
.setMaximumZoomScale(3)
.setDirection(.horizontal)
.setShowsHorizontalScrollIndicator(false)
.setShowsVerticalScrollIndicator(false)
.setCurrentIndex(5)
- 设置dataSource
extension YourViewController: ZoomViewerDataSource {
func zoomViewerCreateView() -> UIView {
// Return the view you want to use
UIImageView()
}
func zoomViewerNumberOfViews(_ zoomViewer: ZoomViewer) -> Int {
// Return the total size
images.count
}
func zoomViewer(_ zoomViewer: ZoomViewer, view: UIView, atIndex index: Int) -> UIView {
// Edit the view to display the content you want
if let imageView = view as? UIImageView {
imageView.image = images[index]
}
return view
}
}
- 设置delegate
extension ViewController: ZoomViewerDelegate {
// Return true to show the refreshing loading view
func zoomViewerWillRefreshTop(_ zoomViewer: ZoomViewer) -> Bool {
true
}
func zoomViewerWillRefreshBottom(_ zoomViewer: ZoomViewer) -> Bool {
true
}
func zoomViewerWillRefreshLeft(_ zoomViewer: ZoomViewer) -> Bool {
true
}
func zoomViewerWillRefreshRight(_ zoomViewer: ZoomViewer) -> Bool {
true
}
}
- 刷新完成
// call endRefreshing when you want to stop the refresh loading view
zoomViewer.endRefreshing()