Popup View
Toasts and popups library written with SwiftUI
We are a development agency building phenomenal apps.
Usage
- Put all your body code into a ZStack
- Add a binding bool to control popup presentation state
- Add
.popupmodifier to your ZStack
struct ContentView: View {
@State var showingPopup = false
var body: some View {
ZStack {
// your view
}
.popup(isPresented: $showingPopup, autohideIn: 2) {
Text("The popup")
.frame(width: 200, height: 60)
.background(Color(red: 0.85, green: 0.8, blue: 0.95))
.cornerRadius(30.0)
}
}
}
Required parameters
isPresented - binding to determine if the popup should be seen on screen or hidden
view - view you want to display on your popup
Available customizations - optional parameters
type - toast, float or default
position - top or bottom (for default case it just determines animation direction)
animation - custom animation for popup sliding onto screen
autohideIn - time after which popup should disappear
dragToDismiss - true by default: enable/disable drag to dismiss (upwards for .top popup types, downwards for .bottom and default type)
closeOnTap - true by default: enable/disable closing on tap on popup
closeOnTapOutside - false by default: enable/disable closing on tap on outside of popup
dismissCallback - custom callback to call once the popup is dismissed
Draggable card
With latest addition of dragToDismiss, you can use bottom toast to add this popular component to your app (see example project for implementation)
.popup(isPresented: $show, type: .toast, position: .bottom) {
// your content
}
Examples
To try PopupView examples:
- Clone the repo
https://github.com/exyte/PopupView.git - Open terminal and run
cd <PopupViewRepo>/Example/ - Run
pod installto install all dependencies - Run open
PopupViewExample.xcworkspace/to open project in the Xcode - Try it!
Installation
CocoaPods
To install PopupView, simply add the following line to your Podfile:
pod 'ExytePopupView'
Carthage
To integrate PopupView into your Xcode project using Carthage, specify it in your Cartfile
github "Exyte/PopupView"
Swift Package Manager
dependencies: [
.package(url: "https://github.com/exyte/PopupView.git", from: "1.0.0")
]
Manually
Drop PopupView.swift in your project.
Requirements
- iOS 13+
- Xcode 11+




