back to home

Daltron / NotificationBanner

The easiest way to display highly customizable in app notification banners in iOS

4,871 stars
665 forks
34 issues
SwiftRubyObjective-C

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing Daltron/NotificationBanner in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/Daltron/NotificationBanner)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

[ ]() Written in Swift 5 NotificationBanner is an extremely customizable and lightweight library that makes the task of displaying in app notification banners and drop down alerts an absolute breeze in iOS. | Basic Banners | Banners with Side Views | Status Bar Banners | | ------------- | ------------- | ------------- | | | | | | Growing Banners | Floating Banners | Stacked Banners | | ------------- | ------------- | ------------- | | | | | Features • Highly customizable ✅ • support ✅ • iPhone, iPhoneX, & iPad Support ✅ • Orientation change support ✅ • Custom support ✅ • Custom colors support ✅ • Support for long titles/ subtitles ✅ • uses horizontal scrolling labels • grows in height as needed • Presenting from top or bottom support ✅ • Haptic feeback support ✅ • Built in banner queue ✅ • Allow to display several banners simultaneously, configurable in banners queue ✅ • Accessibility support ✅ • Dynamic Island Support ✅ Requirements • iOS 12.0+ • Xcode 10.0+ Installation Swift Package Manager This is the preferred way. All other installation methods are officially deprecated and will no longer be supported in future versions. • Go to File > Add Packages • The Add Package dialog appears, by default with Apple packages. • In the upper right hand corner, paste https://github.com/Daltron/NotificationBanner into the search bar • Hit Return to kick off the search • Click Add Package. CocoaPods NotificationBanner is available through CocoaPods. To install it, simply add the following line to your Podfile: Swift 5 + Xcode 11 + iOS 13 Support Swift 5 + Xcode 10.x Swift 4.2 Swift 4.0 Then add at the top of each file you use NotificationBanner in your project. Carthage To use NotificationBanner via Carthage simply add this line to your : Swift 5 Then add and the dependencies and in your project. Usage Creating drop down alerts with NotificationBanner is easy. To create a regular banner (with scrolling labels) and show it, simply: If you want to create a banner which grows in height as needed and show it accordingly just use instead of : To create a status bar alert, simply: By default, each banner will be displayed on the main application window. If you are wanting to show a banner below a navigation bar, simply show on the view controller that is within the navigation system: By default, each banner will present from the top. If you are wanting to display from the bottom, simply: Each of the show properties defined above can be mixed and matched to work flawlessly with eachother. By default, each banner will automatically dismiss after 5 seconds. To dismiss programatically, simply: To show a banner infinitely until it is manually dismissed, simply: NotificationBanner has five prebuilt styles that you can choose from: You can override the predefined colors that NotificationBanner uses for any style by conforming to the : Its as easy as creating a custom banner colors class: And then passing in that class to any notification banner you create: By default, the style will be applied to the banner if no style is provided in the init method. You can set the background color of a banner at any time by simply setting the . Banners with Side Views A notification banner can have a left accessory view, a right accessory view, or both: Each side view will be automically reisized to fit perfectly Banners with a Custom View A notification banner can also be initalized with a custom view: Handling User Interaction By default, when a banner is tapped or swiped up by a user, it will be dismissed. If you want to detect when the user taps or swipes up on a banner, simply: Banner Events You can choose to opt into a notification banner's events by registering as its delegate: Then just make sure to implement the following methods: Haptic Feedback Support By default, when a banner is displayed, a haptic feedback will be generated on devices that support it. The types of haptic feedback are as follows: To change the type of haptic feedback to generate when a banner is shown, simply: Banner Queue By default, each notification banner is placed onto a singleton of an auto-managed . This allows an infinite amount of banners to be displayed without one hiding the other. If you have multiple controllers within your navigation stack that need to be managed by a seperate queue (like a tab bar controller), simply create an instance of a and pass it in to the show function: By default, each notification banner is placed on the back of the queue. If you would rather place the banner in the front and show it immediately no matter how many banners are in the queue, simply state it in the method: Adding a banner to the front of the queue will temporarily suspend the currently displayed banner (if there is one) and will resume it after the banner in front of it dismisses. To get the number of banners currently on the queue, simply: This is all automatically managed! Banner Queue and display banners simultaneously (stacked) You can also create the queue to display several banners at once with controlling of maximum number of banners to be displayed simultaneously. You can "show" more banners than allowed by queue settings - banners what exceed this value will be displayed some time later, after some banners already displayed on screen will be closed. In example below we create queue with maximum simultaneous banners allowed - 3: Create five different banners: and show all five banners at once: using this supporting method It will display first three banners at once, and after some time (or by user tap) it will be hidden and 4 and 5 banner will be displayed when. All it with fancy animation. Feature Requests I'd love to know anything that you think NotificationBanner is missing. Open an issue and I'll add the label to it and I'll do everything I can to accomodate that request if it is in the library's best interest. 😄 Apps that Use NotificationBanner Feel free to add yours…