SPAlert 5.1.8

SPAlert 5.1.8

Ivan VorobeiIvan Vorobei 维护。



SPAlert 5.1.8

  • Sparrow Code 提供

SPAlert

来自 Apple Music 和 AppStore 反馈的弹出窗口。包含 完成心形错误等功能。支持暗黑模式和新 SwiftUI。我尽量复现 Apple 的提示框。您反馈后或者在 Apple Music 中添加歌曲后,您可以在 AppStore 找到这些提示框。

若要从静音模式切换获取提示,检查 SPIndicator 库。

导航

安装

适用于 iOS 11 及以上版本。

Swift 包管理器

Swift包管理器(Swift Package Manager)是一个用于自动化Swift代码分发的工具,并集成到swift编译器中。它与Swift构建系统集成,以自动化下载、编译和链接依赖项的过程。

一旦你的Swift包设置好,将其作为一个依赖项添加就像将其添加到Package.swiftdependencies值中一样简单。

dependencies: [
    .package(url: "https://github.com/ivanvorobei/SPAlert", .upToNextMajor(from: "4.1.0"))
]

CocoaPods

CocoaPods是一个依赖项管理器。有关用法和安装说明,请访问他们的网站。要使用CocoaPods集成,请在Podfile中指定它。

pod 'SPAlert'

手动操作

如果你不想使用任何依赖项管理器,你可以手动进行集成。将Sources/SPAlert文件夹放入你的Xcode项目中。请确保启用“如果需要则复制项目项”和“创建组”。

快速入门

为了获得最佳体验,我建议通过调用SPAlert类的函数来显示警告框。这些函数会定期更新,并且以一种类似于苹果的方式显示警告框。

SPAlert.present(title: "Added to Library", preset: .done)

对于使用自定义图片

SPAlert.present(title: "Love", message: "We'll recommend more like this in For You", preset: .custom(UIImage.init(named: "heart")!))

对于显示简单的文本消息

SPAlert.present(message: "Something going wrong", haptic: .error)

用法

持续时间

为了改变显示时间,创建一个警告视图并使用自定义持续时间调用

let alertView = SPAlertView(title: "Complete", preset: .done)
alertView.duration = 4
alertView.present()

如果你不希望在指定时间内消失警告,请禁用dismissInTime。之后,将忽略duration属性。

alertView.dismissInTime = false

在这种情况下,你必须手动消失警告。

关闭

如果您轻触警报,它将消失。这可以禁用。

alertView.dismissByTap = false

您还可以手动关闭所有警报,只需调用此方法。

SPAlert.dismiss()

布局

要自定义布局和边距,请使用 layout 属性。您可以管理每一侧的边距、图标大小以及图像和标题之间的间距。

alertView.layout.iconSize = .init(width: 24, height: 24)
alertView.layout.margins.top = 12
alertView.layout.spaceBetweenIconAndTitle = 8

触觉

要管理触觉反馈,您应在 present 方法中传入它。

alertView.present(duration: 1.5, haptic: .success, completion: nil)

您可以移除持续时间或完成状态,它有默认值。

圆盘指示器

我添加了预设 .spinner,要使用它只需调用此方法。

let alertView = SPAlertView(title: "Please, wait", preset: .spinner)
alertView.present()

默认情况下,对于此预设 dismissInTime 已禁用,需要手动关闭警报。您只能为单个视图或关闭所有警报执行此操作。

// For one alert
alertView.dismiss()

// For all alerts
SPAlert.dismiss()

颜色

要更改图标颜色,只需为任何预设设置色调颜色。

alertView.iconView?.tintColor = .systemRed

//If you set custom image, don't forget set rendering mode:
UIImage(systemName: "pencil.and.outline")!.withRenderingMode(.alwaysTemplate)

全局外观

您还可以更改警报的某些默认值。例如,您可以使用以下代码更改警报的默认持续时间和圆角半径:

SPAlertView.appearance().duration = 2
SPAlertView.appearance().cornerRadius = 12

它将适用于所有警报。我建议在应用程序代理中设置这些值。但在运行时也可以更改。

SwiftUI

使用类似于系统警告,仅显示消息提示

Button("Show alert") {
    showAlert = true
}.SPAlert(isPresent: $showAlert, message: "this is message only")

或显示消息、标题、图片和其他配置

Button("Show alert") {
    showAlert = true
}.SPAlert(
    isPresent: $showAlert, 
    title: "Alert title", 
    message: "Alert message",
    duration: 2.0, 
    dismissOnTap: false, 
    present: .custom(UIImage(systemName: "heart")!), 
    haptic: .success, 
    layout: .init(), 
    completion: {
        print("Alert is destory")
    })

俄罗斯社区

我在Telegram频道发布新闻和教程。
聊天中会有问题解答。

视频教程发布在YouTube

Tutorials on YouTube