UIAlertController

//

//  UIAlertController.h

//  UIKit

//

//  Copyright (c) 2014-2015 Apple Inc. All rights reserved.

//

 

#import <UIKit/UIViewController.h>//继承自UIViewController

 

NS_ASSUME_NONNULL_BEGIN

 

#pragma mark======== 两个枚举 ====

typedef NS_ENUM(NSInteger, UIAlertActionStyle) {

    UIAlertActionStyleDefault = 0,

    UIAlertActionStyleCancel,

    UIAlertActionStyleDestructive

} NS_ENUM_AVAILABLE_IOS(8_0);//UIAlertActionStyle 的枚举

 

typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {

    UIAlertControllerStyleActionSheet = 0,

    UIAlertControllerStyleAlert

} NS_ENUM_AVAILABLE_IOS(8_0); //弹窗样式的枚举

 

 

 

#pragma mark======== UIAlertAction ====

 

NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertAction : NSObject <NSCopying> //UIAlertAction类

 

+ (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler; //UIAlertAction实例化的单例  (核心部分)

 

@property (nullable, nonatomic, readonly) NSString *title; //注册事件的标题

@property (nonatomic, readonly) UIAlertActionStyle style; //弹窗的样式

@property (nonatomic, getter=isEnabled) BOOL enabled; //是否可用

 

@end

 

 

#pragma mark ========  UIAlertController =======

 

NS_CLASS_AVAILABLE_IOS(8_0) @interface UIAlertController : UIViewController //继承自UIViewController

 

 

//UIAlertController 实例化的単例 

//instancetype 对于非关联返回类型,instancetype可以让编译器知道,返回类的所在类型 

 

+ (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle;

 

 

//与UIAlertAction类建立联系的方法

- (void)addAction:(UIAlertAction *)action; 

 

//拿到注册的所有事件

@property (nonatomic, readonly) NSArray<UIAlertAction *> *actions; 

 

//与最开始的枚举相对应

@property (nonatomic, strong, nullable) UIAlertAction *preferredAction NS_AVAILABLE_IOS(9_0); 

 

 

// 与UITextField建立联系的注册事件

- (void)addTextFieldWithConfigurationHandler:(void (^ __nullable)(UITextField *textField))configurationHandler;

 

//拿到建立注册事件的所有文本输入框

@property (nullable, nonatomic, readonly) NSArray<UITextField *> *textFields;

 

@property (nullable, nonatomic, copy) NSString *title;

@property (nullable, nonatomic, copy) NSString *message;

 

//与最开始的枚举相对应

@property (nonatomic, readonly) UIAlertControllerStyle preferredStyle;

 

@end

 

 

 

 

NS_ASSUME_NONNULL_END

 

posted on 2016-11-08 23:43  dreamDeveloper  阅读(319)  评论(0编辑  收藏  举报

导航