RKDropdownAlert
  • October 28, 2023

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)

GitHub


View Github

#dropdown #ios #objectivec #swift #uialertview
YOU MIGHT ALSO LIKE...
SwiftSpeech

Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSpeech Examples Features Installation Getting Started ...

SwiftUIValueSlider

Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 14.0 Installation ...

Sliders

Sliders is a compilation of all my stylable drag based SwiftUI components. It provides a variety of unique controls as well ...

SlidingRuler

SlidingRuler is a Swift package containing a SwiftUI control that acts like an linear infinite slider or a finite, more precise ...

Skeletonui

SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and ...