一个高度可配置的 iOS UIView,用于显示通知,不会阻塞 UI。
截图
要求
SwiftyNotifications 版本 | 最小 iOS 目标 | Swift 版本 |
---|---|---|
0.7.1 | 11.0 | 5.x |
0.5.3 | 9.0 | 4.2 |
0.5.2 | 9.0 | 4.1 |
0.5.1 | 8.0 | 4.0 |
0.4 | 8.0 | 3.x |
CocoaPods
CocoaPods 是 Cocoa 项目的依赖项管理器。您可以通过以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 SwiftyNotifications 集成到您的 Xcode 项目中,在您的 Podfile 中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
target '<Your Target Name>' do
pod 'SwiftyNotifications', '~>0.7.1'
end
然后,运行以下命令
$ pod install
Carthage
Carthage 是一个去中心化的依赖项管理器,它会构建您的依赖项并提供您二进制框架。
您可以使用以下命令使用Homebrew安装Carthage
brew update
brew install carthage
使用Carthage将SwiftyNotifications集成到您的Xcode项目中,请在您的Cartfile中指定它
github "abdullahselek/SwiftyNotifications" ~> 0.7.1
Swift Package Manager
修改您的Package.swift文件以包含以下依赖项
.package(url: "https://github.com/abdullahselek/SwiftyNotifications.git", from: "0.7.1")
XCFramework
XCFramework需要Xcode 11或更高版本,并且集成与.framework格式的集成非常相似。请使用脚本<|=|scripts/build-framework.sh|=|来生成Binary SwiftyNotifications.xcframework存档,您可以在Xcode中使用它作为依赖项。
SwiftyNotifications.xcframework是一个发布(优化)的二进制文件,提供最高可用的Swift代码性能。
示例用法
import SwiftyNotifications
启动通知并将其添加到您的视图中
let notification = SwiftyNotifications.withStyle(style: .info,
title: "Swifty Notifications",
subtitle: "Highly configurable iOS UIView for presenting notifications that doesn't block the UI",
direction: .bottom)
view.addSubview(notification)
您可以在视图中随时自定义此通知
notification.customize(style: .warning)
并更新文本
notification.setTitle(title: "New title", subtitle: "New subtitle")
显示通知
notification.show()
取消显示
notification.dismiss()
创建自定义通知
let customNotification = SwiftyNotifications.withStyle(style: .custom,
title: "Custom",
subtitle: "Custom notification with custom image and colors",
direction: .top)
customNotification.leftAccessoryView.image = UIImage(named: "apple_logo")!
customNotification.setCustomColors(backgroundColor: UIColor.cyan, textColor: UIColor.white)
view.addSubview(customNotification)
其他创建通知的可用函数
具有自动取消显示的时间间隔选项
let notification = SwiftyNotifications.withStyle(style: .warning,
title: "Title",
subtitle: "Subtitle",
dismissDelay: 3.0,
direction: .top)
具有触摸处理程序
let notification = SwiftyNotifications.withStyle(style: .error,
title: "Title",
subtitle: "Subtitle",
dismissDelay: 5.0,
direction: .bottom) {
}
新增一个仅用于显示消息的类
let swiftyNotificationsMessage = SwiftyNotificationsMessage.withBackgroundColor(color: UIColor.darkGray,
message: "Notification with just text",
direction: .top)
view.addSubview(swiftyNotificationsMessage)
显示消息通知
swiftyNotificationsMessage.show()
取消显示消息通知
swiftyNotificationsMessage.dismiss()
可选的委托,提供了有关显示和取消显示通知屏幕的信息
func willShowNotification(notification: SwiftyNotifications)
func didShowNotification(notification: SwiftyNotifications)
func willDismissNotification(notification: SwiftyNotifications)
func didDismissNotification(notification: SwiftyNotifications)
为通知添加触摸处理程序以捕获触摸手势
notification.addTouchHandler {
}
添加一个可识别滑动方向来取消显示通知的手势识别器
notification.addSwipeGestureRecognizer(direction: .down)
可能的滑动方向
- 向右
- 向左
- 向上
- 向下