新的弹窗UIAlertController

2017-01-02  本文已影响25人  i诺离
// 调取action
@property (nonatomic, readonly) NSArray<UIAlertAction *> *actions;
// 调取alert上的textField
@property (nullable, nonatomic, readonly) NSArray<UITextField *> *textFields;
// preferredStyle:
typedef NS_ENUM(NSInteger, UIAlertControllerStyle) {
    UIAlertControllerStyleActionSheet = 0,
    UIAlertControllerStyleAlert
} 
// 初始弹窗样式
UIAlertController *sheetAlert = [UIAlertController alertControllerWithTitle:@"title" message:@"message" preferredStyle:UIAlertControllerStyleAlert];
// 向弹窗上加按钮,可以在block中处理逻辑
UIAlertAction *alertAction1 = [UIAlertAction actionWithTitle:@"action1" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){}];
// 控制alertAction是否可以点击
alertAction1.enabled = YES;
// 添加
[sheetAlert addAction:alertAction1];
// style:
typedef NS_ENUM(NSInteger, UIAlertActionStyle) {
    UIAlertActionStyleDefault = 0, // 蓝色
    UIAlertActionStyleCancel, // 取消按钮
    UIAlertActionStyleDestructive // 警示按钮,红色
}

// show alert
[self presentViewController:sheetAlert animated:YES completion:nil];

在alert加textField,只能在alert上加

[sheetAlert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) { }];
// textField 继承UIControl 所以可调用其中的监听方法
// 也可以用NSNotificationCenter进行事件监听

富文本

    [sheetAlert setValue:msg forKey:@"attributedMessage"];
上一篇下一篇

猜你喜欢

热点阅读