sanzaru/simpletoast
SimpleToast is a simple, lightweight, flexible and easy to use library to show toasts / popup notifications inside iOS or macOS applications in SwiftUI. Because of the flexibility to show any content it is also possible to use the library for showing simple modals.
Features:
- Custom toast content support: You can show whatever you want inside the toast.
- Custom positioning: Place the toast where you want it to be.
- Timeout functionality: You decide if and when the toast should disappear.
- Callback functionality: Run code when the toast disappeared.
- Multiple, customizable animations
[!CAUTION] ๐จ Breaking changes:
- 0.12.0:
* The options struct now includes a new option to modify the display mode. The default is
.inline, which only reserves horizontal space instead of reserving both (vertical, horizontal) spaces. You should check your implementation after the update and might need to set thedisplayModeoption to.fullin yourSimpleToastOptions.
- 0.11.0:
* ``
.simpleToast(item:, options:)`` is now passing an identifiable to the closure. Closures without capturing raise an error. See the documentation for more information.
- 0.6.0:
* The options struct is modified and the parameters
showBackdropandbackdropColorare replaced by a single optional Color definitionbackdrop. See Options for more information
Demo
| Modifier | Demo | | -------- | ---- | | .slide | <img src="https://raw.githubusercontent.com/sanzaru/SimpleToast.assets/master/video/modifier-slide.gif" width="300" align="center"> | | .fade | <img src="https://raw.githubusercontent.com/sanzaru/SimpleToast.assets/master/video/modifier-fade.gif" width="300" align="center"> | | .scale | <img src="https://raw.githubusercontent.com/sanzaru/SimpleToast.assets/master/video/modifier-scale.gif" width="300" align="center"> | | .skew | <img src="https://raw.githubusercontent.com/sanzaru/SimpleToast.assets/master/video/modifier-skew.gif" width="300" align="center"> |
Installation
Swift Package Manager
dependencies: [
.package(url: "https://github.com/sanzaru/SimpleToast.git", from: "0.0.1")
]Cocoapods
[!CAUTION] CocoaPods support will be dropped with version 1.0. Prior to that, support will be minimal. Using SPM is highly recommended.
Add the following line to your Podfile:
pod 'SwiftUI-SimpleToast', '~> 0.6.2'and run
pod installor
pod updateUsage
๐ For more information on how to use SimpleToast, see the documentation on usage.
Options
The toast can be configured via an optional SimpleToastOptions object. You can simply pass an empty object to configure the toast with default values.
<br> ๐ All parameters inside the options are optional. If not set, the default value will be taken. <br>
| Option | Type | Description | Default | | -------- | ---- | ------------- | -------- | | alignment | Alignment | Defines the alignment of the toast. | .top | | hideAfter | TimeInterval? | Defines when the toast disappears. If nil is given the toast won't disappear. | nil | | backdrop | Color? | Defines the backdrop color | nil | | animation | Animation | Defines the animation type. | .linear | | modifierType | ModifierType | Defines the type of toast animation. Possible values: .slide, .fade | .fade | | dismissOnTap | Bool? | Defines if the toast closes on tap. Possible values: true, false | true | | disableDragGesture | Bool | Defines if the toast reacts to drag gestures. Possible values: true, false | false | | displayMode | SimpleToastDisplayMode | Defines the toast's content display mode. .full reserves the maximum horizontal and vertical space while .inline only reserves horizontal space. Possible values: .inline, .full | .inline |
Package Metadata
Repository: sanzaru/simpletoast
Default branch: master
README: README.md