zoukankan      html  css  js  c++  java
  • UIAlertController 弹框提醒

    传统的alertView

    - (void)alertView
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告" message:@"你的操作时非法的,您要继续吗" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
        alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
        [alert show];
    }

    这里写图片描述

    传统的actionSheet

    - (void)actionSheet
    {
        UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"警告:你的操作时非法的,您要继续吗" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定"
                                                  otherButtonTitles:@"关闭", nil];
        [sheet showInView:self.view];
     }

    这里写图片描述

    UIAlertController == UIAlertView + UIActionSheet

    - (void)alertController
    {
        // 危险操作:弹框提醒
        // 1.UIAlertView
        // 2.UIActionSheet
        // iOS8开始:UIAlertController == UIAlertView + UIActionSheet
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"你的操作时非法的,您要继续吗" preferredStyle:UIAlertControllerStyleAlert];
    
        // 添加按钮
        __weak typeof(alert) weakAlert = alert;
        [alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
            NSLog(@"点击了确定按钮--%@-%@", [weakAlert.textFields.firstObject text], [weakAlert.textFields.lastObject text]);
        }]];
        [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
            NSLog(@"点击了取消按钮");
        }]];
    
        [alert addAction:[UIAlertAction actionWithTitle:@"其它" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
            NSLog(@"点击了其它按钮");
        }]];
    
        // 添加文本框
        [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
            textField.textColor = [UIColor redColor];
            textField.text = @"123";
            [textField addTarget:self action:@selector(usernameDidChange:) forControlEvents:UIControlEventEditingChanged];
            //        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(usernameDidChange:) name:UITextFieldTextDidChangeNotification object:textField];
        }];
        [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
            textField.secureTextEntry = YES;
            textField.text = @"123";
        }];
    
        [self presentViewController:alert animated:YES completion:nil];
    }
    
    - (void)usernameDidChange:(UITextField *)username
    {
        NSLog(@"%@", username.text);
    }

    这里写图片描述这里写图片描述

    其他操作

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"警告" message:@"你的操作时非法的,您要继续吗" preferredStyle:UIAlertControllerStyleActionSheet];
        // 设置popover指向的item
        alert.popoverPresentationController.barButtonItem = self.navigationItem.leftBarButtonItem;
    
        // 添加按钮
        [alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
            NSLog(@"点击了确定按钮");
        }]];
        [alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
            NSLog(@"点击了取消按钮");
        }]];
    
        [self presentViewController:alert animated:YES completion:nil];
    
    }
    // UIAlertControllerStyleActionSheet的使用注意
    // 1.不能有文本框
    // 2.在iPad中,必须使用popover的形式展示
    
    // Text fields can only be added to an alert controller of style UIAlertControllerStyleAlert
    // 只能在UIAlertControllerStyleAlert样式的view上添加文本框

    这里写图片描述

     
  • 相关阅读:
    如何卸载服务(转)
    The Frightening Science of Prediction: How Target & 10 Others Make Money Predicting Your Next Life Event(转摘)
    如果你迷恋厚实的屋顶,就会失去浩瀚的繁星
    李开复:移动互联网创业不要总是“入口思维”(转)
    [微言]增长与幸福 zz
    缔元信
    Tabledriven Approach
    北京医院排名 很有用,留下了
    青春期企业如何突围(转)
    意大利罗马&佛罗伦萨 攻略
  • 原文地址:https://www.cnblogs.com/crash-wu/p/4932446.html
Copyright © 2011-2022 走看看