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!"];
In Action:
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)