SwiftOverlays 5.0.1

SwiftOverlays 5.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018年9月
SPM支持 SPM

Peter Prokop 维护。



  • 作者
  • Peter Prokop

Imgur

SwiftOverlays 是一个用于显示各种弹出窗口和通知的 Swift GUI 库。

SwiftOverlays 的动态标志是由 Crafted Pixels 慈善提供的

Build Status Carthage compatible

特性

SwiftOverlays 提供了多种通知用户的方式

  • 等待覆盖层:带有活动指示器的简单覆盖层

Wait

  • 带有文本的等待覆盖层

WaitWithText

  • 只带文本的覆盖层
  • 带图像和文本的覆盖层(可用于与 PPSwiftGifs 结合显示自定义动画 GIF,而不是 UIActivityIndicatorView)
  • 所有上述方式均阻止任何用户交互
  • 状态栏顶部的通知,类似于本机 iOS 本地/推送通知

Notification

安装

手册

只需克隆并将 SwiftOverlays.swift 文件添加到项目中。

Carthage

  • > Cartfile
  • 使用 nano 打开 Cartfile
  • 添加 github "peterprokop/SwiftOverlays" ~> 5.0.0 到 Cartfile 中
  • 保存:按 ctrl-xyenter
  • 运行 carthage update
  • SwiftOverlays.frameworkCarthage/Build/iOS 拷贝到您的项目中
  • 确保在您的目标(target)的 嵌入式二进制文件 (Embedded Binaries)部分中添加 SwiftOverlays,否则您将会得到 dyld library not loaded referenced from ... reason image not found 错误
  • 在您的视图控制器代码顶部添加 import SwiftOverlays

Cocoapods

  • 请确保您使用的是最新的稳定版 Cocoapods:运行 pod --version
  • 如果不是,请更新它:运行 sudo gem install cocoapods
  • 在您的项目根目录中运行 pod init
  • 运行 nano Podfile,添加
pod 'SwiftOverlays', '~> 5.0.0'
use_frameworks! 
  • 保存:按 ctrl-xyenter
  • 运行 pod update
  • 打开生成的 .xcworkspace 文件
  • 别忘了导入 SwiftOverlays:添加 import SwiftOverlays

需求

  • iOS 10.0+
  • Xcode 10.0+
  • Swift 4.2(如果需要较低的 Swift 版本,请参阅 swift-3.0 以及其他版本)

使用方法

如果您使用的是 CocoaPods,用 import SwiftOverlays 导入库

您可以使用库提供的 UIViewController 方便方法

// In your view controller:

// Wait overlay
self.showWaitOverlay()

// Wait overlay with text
let text = "Please wait..."
self.showWaitOverlayWithText(text)

// Overlay with text only
let text = "This is a text-only overlay...\n...spanning several lines"
self.showTextOverlay(text)

// Remove everything
self.removeAllOverlays()

// Notification on top of the status bar
UIViewController.showOnTopOfStatusBar(annoyingNotificationView!, duration: 5)

// Block user interaction
SwiftOverlays.showBlockingWaitOverlayWithText("This is blocking overlay!")

// Don't forget to unblock!
SwiftOverlays.removeAllBlockingOverlays()

与 UITableViewController/UICollectionViewController 一起使用

您不能直接在 UITableViewController 中使用 SwiftOverlays 便利方法 - 因为它的视图是一个 UITableView,并且叠加(overlay)会随着滚动。

相反,我建议使用 UIViewController 而不是 UITableViewController,并添加 UITableView 作为子视图。(同样适用于 UICollectionViewController)

如果由于某些原因您不能使用 UIViewController,您可以做一些类似的事情

if let superview = self.view.superview {
  SwiftOverlays.showCenteredWaitOverlayWithText(superview, text: "Please wait...")
  SwiftOverlays.removeAllOverlaysFromView(superview)
}

(但在那种情况下,叠加(overlay)将被添加到父视图(superview),显然只有当父视图可用时才应这样做 - 例如,在控制器中的 viewDidAppear 方法中。)

贡献

欢迎您进行分支操作并提交拉取请求

其他项目

  • StarryStars - 用于显示和编辑评分的 iOS GUI 库。
  • AlertyAlert - AlertyAlert 是一个用于所有 alert 需求的漂亮且蓬松的 iOS alert 库。