1. 程式人生 > >iOS 改變UIAlertController的標題、內容的字型和顏色

iOS 改變UIAlertController的標題、內容的字型和顏色

在開發中,彈出框是必不可少的,通常情況下,我們只要彈出系統自帶的彈出框就可以。but,在某些情況下,萬惡的UI會要求你修改顯示文字的大小、顏色,雖然系統自帶有一種紅色字型的UIAlertAction,但是這種Action並不能放在Cancel位置,所以,更多時候,需要我們自己修改文字字型和顏色。我採用的方法是KVC:
  • 1.標題和提示內容的文字設定
    程式碼如下:
//修改title
    NSMutableAttributedString *alertControllerStr = [[NSMutableAttributedString alloc] initWithString:@"提示"];
    [alertControllerStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)];
    [alertControllerStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:17] range:NSMakeRange(0, 2)];
    [alertController setValue:alertControllerStr forKey:@"attributedTitle"];

    //修改message
    NSMutableAttributedString *alertControllerMessageStr = [[NSMutableAttributedString alloc] initWithString:@"提示內容"];
    [alertControllerMessageStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, 4)];
    [alertControllerMessageStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:NSMakeRange(0, 4)];
    [alertController setValue:alertControllerMessageStr forKey:@"attributedMessage"];

效果如下:

  • 2.設定按鈕文字,就拿取消按鈕距離:
    程式碼如下:
//修改按鈕
  
[cancelAction setValue:[UIColor redColor] forKey:@"titleTextColor"];
效果如下:

君凱商聯網-iOS-字唐名僧