![]() |
2 years ago | |
---|---|---|
.. | ||
LGAlertView | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago |
README.md
LGAlertView
Customizable implementation of UIAlertViewController, UIAlertView and UIActionSheet. All in one. You can customize every detail. Make AlertView of your dream! :)
Preview
Default Alert View Style











Default Action Sheet Style







Custom Alert View Styles






Custom Action Sheet Styles






Installation
With source code
Download repository, then add LGAlertView directory to your project.
With CocoaPods
CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries in your projects. To install with cocoaPods, follow the "Get Started" section on CocoaPods.
Podfile
platform :ios, '6.0'
pod 'LGAlertView', '~> 2.0.0'
With Carthage
Carthage is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods. To install with carthage, follow the instruction on Carthage.
Cartfile
github "Friend-LGA/LGAlertView" ~> 2.0.0
Usage
In the source files where you need to use the library, import the header file:
#import "LGAlertView.h"
Initialization
You have several methods for initialization:
- (instancetype)initWithTitle:(NSString *)title
message:(NSString *)message
style:(LGAlertViewStyle)style
buttonTitles:(NSArray *)buttonTitles
cancelButtonTitle:(NSString *)cancelButtonTitle
destructiveButtonTitle:(NSString *)destructiveButtonTitle;
- (instancetype)initWithViewAndTitle:(NSString *)title
message:(NSString *)message
style:(LGAlertViewStyle)style
view:(UIView *)view
buttonTitles:(NSArray *)buttonTitles
cancelButtonTitle:(NSString *)cancelButtonTitle
destructiveButtonTitle:(NSString *)destructiveButtonTitle;
- (instancetype)initWithActivityIndicatorAndTitle:(NSString *)title
message:(NSString *)message
style:(LGAlertViewStyle)style
buttonTitles:(NSArray *)buttonTitles
cancelButtonTitle:(NSString *)cancelButtonTitle
destructiveButtonTitle:(NSString *)destructiveButtonTitle;
- (instancetype)initWithProgressViewAndTitle:(NSString *)title
message:(NSString *)message
style:(LGAlertViewStyle)style
progressLabelText:(NSString *)progressLabelText
buttonTitles:(NSArray *)buttonTitles
cancelButtonTitle:(NSString *)cancelButtonTitle
destructiveButtonTitle:(NSString *)destructiveButtonTitle;
- (instancetype)initWithTextFieldsAndTitle:(NSString *)title
message:(NSString *)message
numberOfTextFields:(NSUInteger)numberOfTextFields
textFieldsSetupHandler:(void(^)(UITextField *textField, NSUInteger index))textFieldsSetupHandler
buttonTitles:(NSArray *)buttonTitles
cancelButtonTitle:(NSString *)cancelButtonTitle
destructiveButtonTitle:(NSString *)destructiveButtonTitle;
More init methods you can find in LGAlertView.h
Handle actions
To handle actions you can use blocks, delegate, or notifications:
Delegate
@property (assign, nonatomic) id<LGAlertViewDelegate> delegate;
- (void)alertViewWillShow:(LGAlertView *)alertView;
- (void)alertViewWillDismiss:(LGAlertView *)alertView;
- (void)alertViewDidShow:(LGAlertView *)alertView;
- (void)alertViewDidDismiss:(LGAlertView *)alertView;
- (void)alertView:(LGAlertView *)alertView buttonPressedWithTitle:(NSString *)title index:(NSUInteger)index;
- (void)alertViewCancelled:(LGAlertView *)alertView;
- (void)alertViewDestructiveButtonPressed:(LGAlertView *)alertView;
Blocks
@property (strong, nonatomic) void (^willShowHandler)(LGAlertView *alertView);
@property (strong, nonatomic) void (^willDismissHandler)(LGAlertView *alertView);
@property (strong, nonatomic) void (^didShowHandler)(LGAlertView *alertView);
@property (strong, nonatomic) void (^didDismissHandler)(LGAlertView *alertView);
@property (strong, nonatomic) void (^actionHandler)(LGAlertView *alertView, NSString *title, NSUInteger index);
@property (strong, nonatomic) void (^cancelHandler)(LGAlertView *alertView, BOOL onButton);
@property (strong, nonatomic) void (^destructiveHandler)(LGAlertView *alertView);
Notifications
kLGAlertViewWillShowNotification;
kLGAlertViewWillDismissNotification;
kLGAlertViewDidShowNotification;
kLGAlertViewDidDismissNotification;
kLGAlertViewActionNotification;
kLGAlertViewCancelNotification;
kLGAlertViewDestructiveNotification;
More
For more details try Xcode Demo project and see LGAlertView.h
License
LGAlertView is released under the MIT license. See LICENSE for details.