SSLocalNotification is a lightweight and easy to use local notification alert.
- Image, title, and message can be customized accordingly
- Notification can be set to allow for expansion.
- Actions can be added when notification is expanded.
- The time the notification is on screen can be set.
- Support for custom functions on tap or on dismiss.
- Add a dark mode for the notification.
- Allow for no image in the notification.
- Quick response notification with textfield.
- ARC
- iOS8
SSLocalNotification is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SSLocalNotification"
Here is how you can use SSLocalNotification
.
Import SSLocalNotification
import SSLocalNotification
In order to create a basic notification this is what you will need:
let notification = SSLocalNotificationController(title: "SSLocalNotification", message: "This is a test notification!", preferredStyle: .light)
notification.image = UIImage()
notification.setTitleFont(fontName: "Avenir-Medium", color: .black)
notification.setMessageFont(fontName: "Avenir-Book", color: .black)
notification.presentLocalNotification()
From there you are able to add actions as such:
notification.addAction(action: SSLocalNotificationAction(title: "Button 1", fontName: "Avenir-Book", tint: .blue, handler: {
print("Custom Action")
}))
notification.addAction(action: SSLocalNotificationAction(title: "Button 2", fontName: "Avenir-Book", tint: .blue, handler: {
print("Custom Action")
}))
SSLocalNotification also has a few customizable properties (more will be added soon):
// Make the notification expandable
notification.expandable = true
// Change how long the notification is presented
notification.dismissDelay = 4.0
// Add action when user taps the notification
notification.didTapLocalNotification = tapFunction()
// Add action when user dismisses the notification
notification.didTapLocalNotification = dismissFunction()
Nicholas Bellucci, [email protected]
SSLocalNotification is available under the MIT license. See the LICENSE file for more info.