MDNotificationView provides a customizable view that slide in from the top or the bottom. Use MDNotificationViews for in-app notifications (e. g. in a chat app) or to provide feedback to your app's users (e. g. "Settings changes" and an undo button next to it). MDNotificationViews behave mostly like Material Design Snackbars but are fully customizable. This means you can select from a few predefined layouts or implement your own UIView. The MDNotificationView propagates livecycle and tap events to its delegate, telling your app when it has been shown, hidden or tapped. And of course, it will adjust to the status bar size and to rotation.
- The
MDNotificationExpandedImageLayoutView
contains an image, a title and a text. Register your view controller as aMDNotificationViewDelegate
to be notified if the user taps the view. - The
MDNotificationCompactLayoutView
contains a text of up to two lines. Like all layouts, its background and text properties can be customized. - The
MDNotificationCompactButtonLayoutView
contains a button and a text. Add a gesture recognizer to theUIButton
to trigger custom actions.
- Pass a custom
UIView
to theMDNotificationView
for more flexibility. Register your view controller as aMDNotificationViewDelegate
to be notified when the view has been shown or hidden. E. g. hide the notification view after the download finishes.
To run the example project, clone the repo, and run pod install
from the Example directory first.
- iOS 9.0+
- Swift 3.0+
MDNotificationView is available through CocoaPods. To install it, add the following line to your Podfile:
pod "MDNotificationView"
MDNotificationView is also available through Carthage. To install it, add the following line to your Cartfile:
github "moritzdietsche/MDNotificationView"
- Use Stack Overflow if you have any questions. I watch the tag
mdnotificationview
. - Open an issue if you found a bug or have a feature request.
- Submit a pull request if you want to contribute. Contributions are welcome!
Moritz Dietsche
MDNotificationView is available under the MIT license. See the LICENSE file for more info.