[iOS]UIAlertController各标签属性的改变

原文:http://blog.****.net/wsyx768/article/details/60874420


[iOS]UIAlertController各标签属性的改变

经常需要设置message左对齐、段间距这些属性

[objc] view plain copy
 print?[iOS]UIAlertController各标签属性的改变[iOS]UIAlertController各标签属性的改变
  1. - (IBAction)tapAlertControllerButton:(id)sender {  
  2.     NSString *titleString = @"商家发货规则";  
  3.     NSString *messageString = @"1、买家下单付款后,请尽快发货;\n2、买家下单付款后,若超过最迟发货的时间,商家仍未发货,那么后台将自动取消订单;\n3、若遇到物流高峰期,比如春节,双十一等,请点击【延迟发货】来延长最迟发货时间;\n4、每个订单只允许【延迟发货】一次,每次可延迟5天;";  
  4.     NSString *alertTitle = @"知道了";  
  5.       
  6.     UIAlertController *_alertController = [UIAlertController alertControllerWithTitle:titleString message:messageString preferredStyle:UIAlertControllerStyleAlert];  
  7.     [_alertController addAction:[UIAlertAction actionWithTitle:alertTitle style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {  
  8.           
  9.     }]];  
  10.       
  11.     /* 修改title */  
  12.     NSMutableAttributedString *attTitleString = [[NSMutableAttributedString alloc] initWithString:titleString];  
  13.     [_alertController setValue:attTitleString forKey:@"attributedTitle"];  
  14.       
  15.     /* 修改message */  
  16.     NSMutableAttributedString *attMsgString = [[NSMutableAttributedString alloc] initWithString:messageString];  
  17.     // 设置字体  
  18.     [attMsgString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, attMsgString.length)];  
  19.     // 设置颜色  
  20.     [attMsgString addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(010)];  
  21.       
  22.     NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];  
  23.     // 设置行间距  
  24.     [paragraph setLineSpacing:3];  
  25.     // 设置段间距  
  26.     [paragraph setParagraphSpacingBefore:5];  
  27.     // 设置对齐方式  
  28.     [paragraph setAlignment:NSTextAlignmentLeft];  
  29.     // 设置书写方向  
  30.     [paragraph setBaseWritingDirection:NSWritingDirectionLeftToRight];  
  31.     [attMsgString addAttribute:NSParagraphStyleAttributeName value:paragraph range:NSMakeRange(0, attMsgString.length)];  
  32.     [_alertController setValue:attMsgString forKey:@"attributedMessage"];  
  33.       
  34.     /* 修改按钮的颜色 */  
  35.     NSArray *actionArr = [_alertController actions];  
  36.     [actionArr.firstObject setTitle:alertTitle];  
  37.     [actionArr.firstObject setValue:[UIColor orangeColor] forKey:@"titleTextColor"];  
  38.       
  39.     [self presentViewController:_alertController animated:YES completion:nil];  
  40. }  
  41.    
示意图:

系统默认样式:

[iOS]UIAlertController各标签属性的改变

改变属性样式:

[iOS]UIAlertController各标签属性的改变