LZUIKit 3.0.0

LZUIKit 3.0.0

venwu1984 维护。



LZUIKit 3.0.0

  • ven.wu

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()