美文网首页
UIAlertViewController

UIAlertViewController

作者: CoderZNB | 来源:发表于2016-09-08 19:35 被阅读0次

    UIAlertViewController

    一.UIAlertViewController的简单使用

      - (void)setupAlertVcWithTextFiled {
    
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"文本对话框" message:@"登录和密码对话框示例" preferredStyle:UIAlertControllerStyleAlert];
        [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField){
            textField.placeholder = @"登录";
        }];
        [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
            textField.placeholder = @"密码";
            textField.secureTextEntry = YES;
    
            // 添加通知观察者,监听文本框值的改变
            [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(alertTextFieldDidChange:) name:UITextFieldTextDidChangeNotification object:textField];
        }];
    
        // 在“好的”按钮按下时,我们让程序读取文本框中的值。
        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        // 获得文本框
        UITextField *login = alertController.textFields.firstObject;
            UITextField *password = alertController.textFields.lastObject;
    
            // 移除通知观察者
            [[NSNotificationCenter defaultCenter] removeObserver:self name:UITextFieldTextDidChangeNotification object:nil];
    
            NSLog(@"%@----%@",login.text,password.text);
        }];
    
        // 在显示对话框之前,冻结“好的”按钮
        okAction.enabled = NO;
    
        [alertController addAction:okAction];
    
        [self presentViewController:alertController animated:YES completion:nil];
    }
    // 检查“登录”文本框的内容
    - (void)alertTextFieldDidChange:(NSNotification *)notification{
        UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
        if (alertController) {
            UITextField *login = alertController.textFields.firstObject;
            UIAlertAction *okAction = alertController.actions.lastObject;
    
            // 当输入文字大于2 ,按钮可以点击
            okAction.enabled = login.text.length > 2;
        }
    }
    
    
    - (void)setupAlertVc {
       UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"这个是UIAlertController的默认样式" preferredStyle:UIAlertControllerStyleAlert];
    
        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];
        [alertController addAction:cancelAction];
        [alertController addAction:okAction];
    
        UIAlertAction *resetAction = [UIAlertAction actionWithTitle:@"重置" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
    
        }];
    
        [alertController addAction:resetAction];
    
        [self presentViewController:alertController animated:YES completion:nil];
    }
    

    相关文章

      网友评论

          本文标题:UIAlertViewController

          本文链接:https://www.haomeiwen.com/subject/rszsettx.html