Dropdown notification view for iOS
AFDropdownNotification
Dropdown notification view for iOS
Installation
If you're using CocoaPods, just add this line to your Podfile:
pod 'AFDropdownNotification', '~> 1.0'
If you're not, import these files to your project:
AFDropdownNotification.h
AFDropdownNotification.m
Usage
First of all, init your AFDropdownNotification class and set your main class as AFDropdownNotificationDelegate:
AFDropdownNotification *notification = [[AFDropdownNotification alloc] init];
notification.notificationDelegate = self;
You can configure the title text with the titleText property, the subtitle text with subtitleText, an optional left image defined as image, and two optional buttons, with topButtonText and bottomButtonText. For example:
notification.titleText = @"Update available";
notification.subtitleText = @"Do you want to download the update of this file?";
notification.image = [UIImage imageNamed:@"update"];
notification.topButtonText = @"Accept";
notification.bottomButtonText = @"Cancel";
If you want to hide the notification by tapping it, set dimissOnTap to YES:
notification.dismissOnTap = YES;
To present it, you can choose if you want to use UIKit dynamics (which will include a subtle bounce) or a regular lineal UIKit animation:
[notification presentInView:self.view withGravityAnimation:YES];
Finally, to handle the buttons taps, implement the two methods defined by the delegate, -dropdownNotificationTopButtonTapped and -dropdownNotificationBottomButtonTapped.
-(void)dropdownNotificationTopButtonTapped {
NSLog(@"Top button tapped");
}
-(void)dropdownNotificationBottomButtonTapped {
NSLog(@"Bottom button tapped");
}
Also, you can use blocks:
[_notification listenEventsWithBlock:^(AFDropdownNotificationEvent event) {
switch (event) {
case AFDropdownNotificationEventTopButton:
// Top button
break;
case AFDropdownNotificationEventBottomButton:
// Bottom button
break;
case AFDropdownNotificationEventTap:
// Tap
break;
default:
break;
}
}];