Contents

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 the displayMode option to .full in your SimpleToastOptions.

  • 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 showBackdrop and backdropColor are replaced by a single optional Color definition backdrop. 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 install

or

pod update

Usage

๐Ÿ“š 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.

&nbsp;<br> ๐Ÿ“Œ All parameters inside the options are optional. If not set, the default value will be taken. <br>&nbsp;

| 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