cwRichardKim / RKDropdownAlert

iOS / Objective C: an extremely simple UIAlertView alternative
https://medium.com/@cwRichardKim/devux-uialertview-alternatives-3a78ab64cbf8
MIT License
1.54k stars 139 forks source link

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!"];

alt tag

In Action:

first

second

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

easy

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

alt tag

Areas for Future Improvement / Involvement