UIAlertController 弹窗信息左对齐与文字大小、颜色修改方法

直接上代码:


UIAlertController *alertCtr = [UIAlertController alertControllerWithTitle:@"规则说明" message:msg preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *cancleAction = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
        
    }];
    
//改变title的大小和颜色
    NSMutableAttributedString *titleAtt = [[NSMutableAttributedString alloc] initWithString:title];
    [titleAtt addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:NSMakeRange(0, title.length)];
    [titleAtt addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(0, title.length)];
    [alertController setValue:titleAtt forKey:@"attributedTitle"];
    //改变message的大小和颜色
    NSMutableAttributedString *messageAtt = [[NSMutableAttributedString alloc] initWithString:message];
    [messageAtt addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:NSMakeRange(0, message.length)];
    [messageAtt addAttribute:NSForegroundColorAttributeName value:[UIColor darkTextColor] range:NSMakeRange(0, message.length)];
    [alertController setValue:messageAtt forKey:@"attributedMessage"];


//修改按钮的颜色,同上可以使用同样的方法修改内容,样式
    UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"Default" style:UIAlertActionStyleDefault handler:nil];
     [defaultAction setValue:[UIColor blueColor] forKey:@"_titleTextColor"];

     UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];

     [cancelAction setValue:[UIColor greenColor] forKey:@"_titleTextColor"];

//    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//
//    }];
    [alertCtr addAction:cancleAction];
//    [alertCtr addAction:okAction];
    
    UIView *subView1 = alertCtr.view.subviews[0];
    
    UIView *subView2 = subView1.subviews[0];
    
    UIView *subView3 = subView2.subviews[0];
    
    UIView *subView4 = subView3.subviews[0];
    
    UIView *subView5 = subView4.subviews[0];
    
    // UILabel *title = subView5.subviews[0];//第一个是标题,
    
    //第二个是message
    
    UILabel *message = subView5.subviews[1];
    
    //改变message的对齐方式
    
    message.textAlignment = NSTextAlignmentLeft;
    
    
    [self presentViewController:alertCtr animated:YES completion:nil];

你可能感兴趣的:(UIAlertController 弹窗信息左对齐与文字大小、颜色修改方法)