iOS 改變UIAlertController的標題、內容的字型和顏色
阿新 • • 發佈:2019-01-25
在開發中,彈出框是必不可少的,通常情況下,我們只要彈出系統自帶的彈出框就可以。but,在某些情況下,萬惡的UI會要求你修改顯示文字的大小、顏色,雖然系統自帶有一種紅色字型的UIAlertAction,但是這種Action並不能放在Cancel位置,所以,更多時候,需要我們自己修改文字字型和顏色。我採用的方法是KVC:
效果如下:
君凱商聯網-iOS-字唐名僧
- 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-字唐名僧