iOS之改变UIAlertViewController字体的颜色
NSString *message = @"请确认信息是否正确?"; NSString *title = @"提示"; UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleActionSheet]; //改变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 yellowColor] range:NSMakeRange(0, message.length)]; [alertController setValue:messageAtt forKey:@"attributedMessage"]; [self presentViewController:alertController animated:YES completion:nil];
上面的是修改UIAlertViewController的title和message字体的大小和颜色,采用的是修改attributedString其中的NSForegroundColorAttributeName颜色属性和NSFontAttributeName字体大小属性。UIAlertViewController中的标题的key:@"attributedTitle",标题中提示信息的key:@"attributedMessage"。
UIAlertAction *alertAction = [UIAlertAction actionWithTitle:@"知道了" style:UIAlertActionStyleDefault handler:nil]; [alertAction setValue:[UIColor purpleColor] forKey:@"_titleTextColor"]; // alertController.view.tintColor = [UIColor greenColor]; [alertController addAction:alertAction]; UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]; /*取消按钮的颜色*/ [cancel setValue:[UIColor redColor] forKey:@"_titleTextColor"]; [alertController addAction:cancel];
修改UIAlertViewController中修改所有按钮的颜色使用下面这个方法:
alertController.view.tintColor = [UIColor greenColor];
修改单个UIAlertAction按钮的字体颜色使用下面这个方法:
[cancel setValue:[UIColor redColor] forKey:@"_titleTextColor"];