叠加层 0.2.0

叠加层 0.2.0

Evgeniy Safronov 维护。



叠加层 0.2.0

  • 作者
  • Evgeniy Safronov

叠加层

Version License Platform

完整 API 参考

用于显示空列表消息或加载指示器的库。您可以在视图控制器内容之上显示任何自定义视图。

Overview image

要求

  • iOS 9+
  • Swift 5
  • XCode 10.3+

安装

叠加层通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'Overlays'

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

准备覆盖视图

为覆盖视图创建一个自定义类。实现OverlayView协议。

import Overlays

class CustomOverlay: UIView, OverlayView {
}

使用模板创建覆盖视图

您可以使用OverlayTemplate类来制作覆盖。

import Overlays
...
let overlay = OverlayTemplate(alignment: .center)
overlay.addImage(named: "Empty")
overlay.addSeparator(30)
overlay.addHeadline("No results :(")
overlay.addSeparator(8)
overlay.addSubhead("Please try again later.")
overlay.addSeparator(20)
overlay.addButton("Retry", listener: { [unowned self] in self.reload() })
showOverlay(overlay)

Example image

您还可以集成自定义进度指示器。

import Overlays
import MBProgressHUD
...
let hudContainer = UIView()
MBProgressHUD.showAdded(to: hudContainer, animated: false)

let overlay = OverlayTemplate(alignment: .center)
overlay.addView(hudContainer)
showOverlay(overlay)

Example image

在视图控制器中显示

import Overlays

class CustomOverlayViewController: UIViewController {
    @IBOutlet var overlay: CustomOverlay!

    func show() {
        showOverlay(overlay)
    }

    func hide() {
        hideOverlay()
    }

Example image

在视图顶部显示

import Overlays
...
@IBOutlet var overlay: CustomOverlay!
@IBOutlet weak var containerView: UIView!

func show() {
    containerView.showOverlay(overlay)
}

func hide() {
    containerView.hideOverlay()
}
...

Example image

在键盘上方显示

import Overlays

class CustomOverlayViewController: UIViewController {
    @IBOutlet var overlay: CustomOverlay!

    private lazy var keyboardAwareOverlays = KeyboardAwareOverlays(controller: self)

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        keyboardAwareOverlays.startListeningKeyboardEvents()
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        keyboardAwareOverlays.stopListeningKeyboardEvents()
    }

    func show() {
        keyboardAwareOverlays.showOverlay(overlay)
    }

    func hide() {
        keyboardAwareOverlays.hideOverlay()
    }

Example image

作者

Evgeniy Safronov, [email protected], https://ios-dev.ru

许可协议

Overlays 可在 MIT 许可下使用。更多信息请参阅 LICENSE 文件。用于示例项目的 MBProgressHUD 库也可在 MIT 许可下使用。