A crisp in-app notification/message banner library for iOS, built in Swift with extensive customization.
RMessage is a Swift library for displaying customizable in-app notification banners on iOS. It solves the problem of showing user feedback, alerts, and messages within iOS applications with a clean, flexible API. Developers can easily integrate it to present notifications with various styles, positions, and interactive options.
iOS developers building Swift applications who need a lightweight, customizable solution for in-app notifications and user messaging.
Developers choose RMessage for its extensive customization options, simple integration, and clean design, allowing them to create notification banners that perfectly match their app's UI without heavy dependencies.
A crisp in-app notification/message banner built in Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports deep UI customization through the RMessageSpec protocol, allowing changes to colors, fonts, icons, and buttons for perfect app integration.
Offers smooth animations for notifications displayed at the top or bottom of the screen, adaptable to various app layouts.
Includes predefined specs like errorSpec and warningSpec, and enables custom specs via protocol for easy reuse and consistency.
Allows setting messages to dismiss automatically or only when tapped, providing flexibility in user interaction design.
RMControllerDelegate lets developers modify messages right before presentation, such as adjusting alpha or adding subviews for advanced tweaks.
Built entirely on UIKit, making it less suitable for modern SwiftUI projects without additional bridging or compatibility layers.
Supports only basic animations for top and bottom positions, lacking options for custom transitions, curves, or interactive gestures.
While Swift Package Manager is supported, manual installation requires copying source files, which can be tedious and error-prone for updates.
Lacks advanced features for handling notification queues, priorities, or conflicts, forcing developers to implement such logic themselves.