美文网首页
iOS UIAlertController基本使用以及改变按钮颜

iOS UIAlertController基本使用以及改变按钮颜

作者: 安静就好_ | 来源:发表于2017-08-18 10:04 被阅读1251次
    简单说一下UIAlertController的基本使用方法,废话不多说,直接上代码
    1.基本的使用方法
    //创建控制器
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:@"\n此用户不存在请去添加" preferredStyle:UIAlertControllerStyleAlert];
    //创建添加按钮(可以写事件,也可以不写),可以创建多个按钮
    UIAlertAction *OKbtn = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                }];
    //添加按钮到alertVC上,并模态出来
    [alertVC addAction:OKbtn];
    [self presentViewController:alertVC animated:YES completion:nil];
    
    
    7C7949D6-3F86-4AEC-8D67-5C8A202A3602.png
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:@"\n是否进行关联" preferredStyle:UIAlertControllerStyleAlert];
    
    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                }];
    
    UIAlertAction *addBtn = [UIAlertAction actionWithTitle:@"关联" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
               }];
    
     [alertVC addAction:cancel];
     [alertVC addAction:addBtn];
     [self presentViewController:alertVC animated:YES completion:nil];
    
    
    C32A8434-DF23-4574-ADE7-586283FB5C52.png
    添加文本框,因为文本框的大小调起来不太方便,所以这里有个小技巧,文本框的大小可以跟着字体的大小来变动
    
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"请输入文件名称" preferredStyle:UIAlertControllerStyleAlert];
    
     [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
                 //文本框占位文字       
                textField.placeholder = @"请输入文件名称";
                //改变字体大小
                [textField setFont:[UIFont systemFontOfSize:17]];
                //定义一个文本框来接收,传值用
                nameTextField = textField;
               }];
                    
     UIAlertAction *cancelBtn = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                        
                    }];
    UIAlertAction *addBtn = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    
                     }];
    [alert addAction:cancelBtn];
    [alert addAction:addBtn];
    [self presentViewController:alert animated:YES completion:nil];
    
    1A83D03B-DBCC-4C77-BAC7-1A0D8A5698FF.png

    文本框比系统原来的要大一点,调大字体,文本框可以自适应,根据项目需求来吧

    改变字体颜色
    //创建控制器,不需要设置文字
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:UIAlertControllerStyleAlert];
    
    //修改title
    NSMutableAttributedString *alertControllerStr = [[NSMutableAttributedString alloc] initWithString:@"提   示"];
    //设置颜色
    [alertControllerStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, alertControllerStr.length)];
    //设置大小
    [alertControllerStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(0, alertControllerStr.length)];
    //替换title
    [alertVC setValue:alertControllerStr forKey:@"attributedTitle"];
    
    //修改message
    NSMutableAttributedString *alertControllerMessageStr = [[NSMutableAttributedString alloc] initWithString:@"\n此用户不存在请去添加"];
    //设置文字大小,并没有设置文字颜色
    [alertControllerMessageStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:NSMakeRange(0, alertControllerMessageStr.length)];
    //进行替换
    [alertVC setValue:alertControllerMessageStr forKey:@"attributedMessage"];
    //确定按钮
    UIAlertAction *OKbtn = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                }];
    //添加
    [alertVC addAction:OKbtn];
    [self presentViewController:alertVC animated:YES completion:nil];
    
    至于按钮的颜色,系统的style有红色可以选择,UIAlertActionStyleDestructive。
    
    
    8AE31341-130C-45B8-8A2F-A88DDBFADF90.png

    到这里,UIAlertController的使用基本可以满足日常的开发需求了,如果有特殊需求,可以继续深入研究!!祝各位工作顺利!!!

    相关文章

      网友评论

          本文标题:iOS UIAlertController基本使用以及改变按钮颜

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