PopupView alternatives and similar libraries
Based on the "Popup" category.
Alternatively, view Popup View alternatives based on common mentions on social networks and blogs.
-
SwiftEntryKit
SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. -
PopupDialog
A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style. -
LNPopupController
A framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. -
STPopup
STPopup provides STPopupController, which works just like UINavigationController in popup style, for both iPhone and iPad. It's written in Objective-C and compatible with Swift. -
CNPPopupController
DISCONTINUED. Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. -
AZDialogViewController
A highly customizable alert dialog controller that mimics Snapchat's alert dialog. -
PBPopupController
A framework for presenting bars and view controllers as popup, much like the look and feel of Apple Music App.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PopupView or a related project?
README
Floaters Toasts Popups Sheets
Popup View
Toasts, alerts and popups library written with SwiftUI
We are a development agency building phenomenal apps.
Usage
- Add a binding bool to control popup presentation state
Add
.popup
modifier to your view.struct ContentView: View { @State var showingPopup = false var body: some View { YourView() .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) } } }
Note
Please keep in mind that the popup calculates its position using the frame of the view you attach it to. So you'll likely want to attach it to the root view of your screen.
Note 2
Unfortunately popup can not be displayed above navigation bar - Apple doesn't provide API for that. So if you want the popup to be fullscreen, you might want to attach it to the root view of your app.
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. Floater has parameters of its own:
verticalPadding
- padding which will define padding from the top or will be added to safe area ifuseSafeAreaInset
is trueuseSafeAreaInset
- whether to include safe area insets in floater padding
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
backgroundColor
- Color.clear by default: change background color of outside area
dismissCallback
- custom callback to call once the popup is dismissed
Draggable card - sheet
To implement a sheet (like in 4th gif) enable dragToDismiss on bottom toast (see example project for implementation of the card itself)
.popup(isPresented: $show, type: .toast, position: .bottom, dragToDismiss: true) {
// 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 install
to install all dependencies - Run open
PopupViewExample.xcworkspace/
to open project in the Xcode - Try it!
Installation
Swift Package Manager
dependencies: [
.package(url: "https://github.com/exyte/PopupView.git")
]
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"
Requirements
- iOS 13+
- Xcode 11+
Our other open source SwiftUI libraries
Grid - The most powerful Grid container
ScalingHeaderScrollView - A scroll view with a sticky header which shrinks as you scroll.
MediaPicker - Customizable media picker
ConcentricOnboarding - Animated onboarding flow
FloatingButton - Floating button menu
ActivityIndicatorView - A number of animated loading indicators
ProgressIndicatorView - A number of animated progress indicators
SVGView - SVG parser
LiquidSwipe - Liquid navigation animation
*Note that all licence references and agreements mentioned in the PopupView README section above
are relevant to that project's source code only.