代码改变世界

ios - 可以改变系统弹框字体大小以及颜色的方法

2017-06-12 16:28  菜鸟Alex  阅读(1971)  评论(0编辑  收藏  举报
  • 代码
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    
    UIAlertController * alertVc = [UIAlertController alertControllerWithTitle:@"立即锁" message:@"设定后车辆被立即锁定" preferredStyle:UIAlertControllerStyleAlert];
    NSMutableAttributedString *alertControllerStr = [[NSMutableAttributedString alloc] initWithString:@"立即锁"];
//设置标题颜色
    [alertControllerStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 3)];
    [alertControllerStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(0, 3)];
//通过kvc赋值
    [alertVc setValue:alertControllerStr forKey:@"attributedTitle"];
//设置标题中的message颜色
    NSMutableAttributedString *alertControllerMessageStr = [[NSMutableAttributedString alloc] initWithString:@"设定后车辆被立即锁定"];
    [alertControllerMessageStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, 10)];
    [alertControllerMessageStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:17] range:NSMakeRange(0, 10)];
//通过kvc赋值
    [alertVc setValue:alertControllerMessageStr forKey:@"attributedMessage"];
    UIAlertAction * actConfirm = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        
    }];
    UIAlertAction * actCan = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
    }];
//设置按钮颜色
    [actCan setValue:[UIColor blackColor] forKey:@"titleTextColor"];
    [alertVc addAction:actCan];
    [alertVc addAction:actConfirm];
    [self presentViewController:alertVc animated:YES completion:^{
    }];
}

总体来讲,弹框标题以及标题下方提示信息通过创建富文本来实现修改字体颜色,以及改变大小,最后通过kvc进行赋值实现最终效果.

  • 效果