Loaf
Inspired by Android's Toast,Loaf is a Swifty Framework for Easy iOS Toasts.
Usage
From any view controller, a Loaf can be presented by calling:
Which will result in:

Bellow, I will discuss how to further customize your Loaf!
Playground
I've provided an example project to showcase uses of Loaf! Simply clone this repo, and open LoafExamples.xcodeproj
. From here you can see and experiment custom Loaf styles in Examples.swift
Customization
Basic styles
Loaf comes with 4 basic style out of the box.
Success | Error |
---|---|
![]() |
![]() |
Warning | Info |
---|---|
![]() |
![]() |
These styles can be specified in the style
property.
For instance, to use Success
styled Loaf, call it like so:
Custom styles
Loaf allows you to specify a custom style! This will let you set the colors, font, icon. and icon alignment. Here are some examples of custom Loaf styles!
Colors and icon | Right icon alignment | No icon |
---|---|---|
![]() |
![]() |
![]() |
All of these properties are specified as part of custom state, like so:
Presenting and dismissing
Loaf allows you to specify the presenting and dismissing direction. The presenting direction is independant from the dismissal direction. Here are some examples:
Vertical | Left |
---|---|
![]() |
![]() |
Right | Mix |
---|---|
![]() |
![]() |
These are specified in the function signature, like so:
Location
Toasts are typically presented at the bottom of the screen, but Loaf allows you to also present them at the top of the screen. Here is an example of a Loaf being presented at the top of the view:

This is also specified in the function signature, like so:
Other
Specify the presentation duration. When presenting a Loaf with .show()
, a presentation duration can be specified. The default value is 4s, but there are presets for 2s and 8s. This is done by using .show(.short)
for 2s, or .show(.long)
for 8s. A custom duration can also be specified with .show(.custom(x))
, where x represents the duration in seconds.
⚠️ New in 0.3.0
:
A completion handler can be specified in the Loaf show()
function signature. This block will be called when the dismissal animation is completed. Here is an example of using a completion handler, now named onTap
:
Installation
Cocoapods
Loaf is on Cocoapods! After setting up Cocoapods in your project, simply add the folowing to your Podfile:
pod 'Loaf'
then run pod install
from the directory containing the Podfile!
Don't forget to include import Loaf
in every file you'd like to use Loaf
Requirements
- Swift 4.2+
- iOS 11.0+