RKDropdownAlert
an extremely simple (and customizeable) alert alternative based on Facebook's app Slingshot, and inspiration from SVProgressHUD (yes, it's just as easy to use as SV).
##Updates, Questions, and Requests Support or twitter <--- I am a very light twitterer, so I wont spam you
Article comparing UIAlertView, SVProgressHUD and RKropdownAlert
https://medium.com/@cwRichardKim/devux-uialertview-alternatives-3a78ab64cbf8
##Pod WAIT! Don't use pods if you want to customize or use the quick and easy [RKDropdownAlert show]
pod 'RKDropdownAlert'
##Demo:
[RKDropdownAlert title:@"Hello World" message:@"Tons better than UIAlertView!"];
##Easy Default Call
[RKDropdownAlert show];
Set the default text, color, size, font, etc so that when you call "show" it pulls up an easy default call
##Setup
First, download the file, or create a branch of the repo. Copy the following into your parent controller:
#import "RKDropdownAlert.h"
You will probably want to customize the default call ([RKDropdownAlert show]), as well as other features such as color, the method called when the user taps the view, etc. Look for
//%%% CUSTOMIZE
tags in the RKDropdownAlert.m for methods that you should customize.
##Calling the Alert
Use the following variations of title, message, backgroundColor, textColor, and time
+(void)show;
+(void)title:(NSString*)title;
+(void)title:(NSString*)title time:(NSInteger)seconds;
+(void)title:(NSString*)title backgroundColor:(UIColor*)backgroundColor textColor:(UIColor*)textColor;
+(void)title:(NSString*)title backgroundColor:(UIColor*)backgroundColor textColor:(UIColor*)textColor time:(NSInteger)seconds;
+(void)title:(NSString*)title message:(NSString*)message;
+(void)title:(NSString*)title message:(NSString*)message time:(NSInteger)seconds;
+(void)title:(NSString*)title message:(NSString*)message backgroundColor:(UIColor*)backgroundColor textColor:(UIColor*)textColor;
+(void)title:(NSString*)title message:(NSString*)message backgroundColor:(UIColor*)backgroundColor textColor:(UIColor*)textColor time:(NSInteger)seconds;
For example:
[RKDropdownAlert show];
[RKDropdownAlert title:@"this is a title" message:@"this is a one line message"];
[RKDropdownAlert title:@"Hello World" message:@"tons better than UIAlertView" backgroundColor:[UIColor grayColor] textColor:[UIColor whiteColor] time:10];
##Touch Up Inside Method Write your own method for when the user touches the view (default is hide the view)
@interface WhateverClassYouLike : NSObject <RKDropdownAlertDelegate>
@end
@implementation WhateverClassYouLike
-(BOOL)dropdownAlertWasTapped:(RKDropdownAlert*)alert {
// Handle the tap, then return whether or not the alert should hide.
return true;
}
@end
Areas for Future Improvement / Involvement
- Improve architecture to maintain single line deployment while also allowing for attribute customization without changing physical code
- Ability to change layout of text without changing physical code
- Singleton pattern
- More rigorous case testing for responsive design (making sure different text lengths still look good)