Skip to content

Repository files navigation

NYAlertViewController

NYAlertViewController is a replacement for UIAlertController/UIAlertView with support for content views and UI customization.

Example

Features

  • Includes content view property for adding custom views to the alert view
  • Block-based API similar to UIAlertController/UIAlertAction
  • Support for all screen orientations and iPad screen sizes
  • Easily add text fields with simple API identical to UIAlertController
  • Choose between fade (similar to UIAlertController) or slide transition animations

Installation

Manual

Add the files to your project manually by dragging the NYAlertViewController directory into your Xcode project.

CocoaPods

Add pod 'NYAlertViewController' to your Podfile, and run pod install.

Usage Example

An Objective-C example project demonstrating customization options is included in the NYAlertViewControllerDemo directory.

Objective-C

// Import the class and create an NYAlertViewController instance
#import"NYAlertViewController.h"// ...// Set a title and messageNSString *title = @"Location Permission";
NSString *message = @"Set the alertViewContentView property to add custom views to the alert view";
// Customize appearance as desired
NYAlertViewControllerConfiguration *configuration = [NYAlertViewControllerConfiguration new];
configuration.contentViewInset = UIEdgeInsetsMake(12.0f, 8.0f, 8.0f, 8.0f);
configuration.alertViewBackgroundColor = [UIColor colorWithRed:0.23fgreen:0.23fblue:0.27falpha:1.0f];
configuration.separatorColor = [UIColor colorWithRed:0.16fgreen:0.16fblue:0.2falpha:1.0f];
configuration.titleTextColor = [UIColor whiteColor];
configuration.messageTextColor = [UIColor whiteColor];
configuration.buttonConfiguration = [NYAlertActionConfiguration new];
configuration.buttonConfiguration.titleColor = [UIColor whiteColor];
configuration.cancelButtonConfiguration.titleColor = [UIColor whiteColor];
// Set up alert actions
NYAlertAction *cancelAction = [[NYAlertAction alloc] initWithTitle:@"Later"style:UIAlertActionStyleCancel
handler:nil];
NYAlertAction *okAction = [[NYAlertAction alloc] initWithTitle:@"Ok"style:UIAlertActionStyleDefault
handler:^(NYAlertAction *action) {
[selfdoSomething];
}]];
NYAlertViewController *alertViewController = [[NYAlertViewController alloc] initWithOptions:configuration
title:title
message:message
actions:@[cancelAction, okAction]];
// Optionally add a content view
UIImageView *iconImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MapIcon"]];
iconImageView.contentMode = UIViewContentModeScaleAspectFit;
[iconImageView.heightAnchor constraintEqualToConstant:60.0f].active = YES;
alertViewController.alertViewContentView = iconImageView;
// Present the alert view controller
[selfpresentViewController:alertViewController animated:YEScompletion:nil];

License

This project is released under the MIT License.

About

Highly configurable iOS Alert Views with custom content views

Resources

Stars

604 stars

Watchers

17 watching

Forks

Releases

Packages

Used by

Contributors

Languages