CRToastSwift

起源

我一直很喜欢 CRToast 所投入的关怀和努力。那里的文档和概念都很完整,所以请务必先阅读它。

再次强调,去阅读那边的文档

如何在项目中使用

目前,尚不支持 Cocoapods 或 Carthage,因为我想看看是否只使用 Swift Package Manager 就可以搞定。

要包含在你的项目中,请使用 git submodule,然后使用 swift package generate-xcodeproj 生成项目,并将其作为依赖项包含进来。别忘了将其添加到你的目标依赖项、链接阶段和复制阶段。

移植到 Swift

大部分移植工作都投入到了处理类型的截然不同的方式上。Objective-C 关于类型的宽松规则使得检查值和使用“相似但不相等”类型的值成为可能,但这被 Swift 编译器完全拒绝。

欢迎随意比较这两个仓库,看看有哪些不同之处。我已尽力保留原始的结构和命名约定。

额外的亮点

因为我着迷于那些强大到令人难以置信的晦涩 iOS 功能,所以我决定加入一种新的“动态”通知类型:你使用 UIView 对象进行设置,这些对象对于警报文本具有意义,当通知落下时,它会在这些对象上反弹,高亮显示用户可能没有在文本中读到的内容。

例如,假设你有一个标准的登录视图,带有两个文本字段和一个同意 TOS 的复选框。如果用户遗漏了一个重要的项目(登录名、密码或复选框),警报会在退出时与其碰撞,但会穿过那些正确填写的项目。

example