1.UIAlertView在iOS9.0后被抛弃
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:NSLocalizedString(@"请核对后重新输入",nil) delegate:self cancelButtonTitle:NSLocalizedString(@"知道了",nil) otherButtonTitles:nil, nil];
[alertView show];
2.UIAlertController
NSString *message = NSLocalizedString(@"请核对后重新输入",nil);
NSString *title = @"提示";
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert];
//改变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 darkTextColor] range:NSMakeRange(0, message.length)];
[alertController setValue:messageAtt forKey:@"attributedMessage"];
UIAlertAction *alertAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"知道了",nil) style:UIAlertActionStyleCancel handler:nil];
[alertController addAction:alertAction];
[self presentViewController:alertController animated:YES completion:nil];
注:当title设置为nil时,message的字体大小会是标题的大小,如果单纯只是希望message小些,可设置title = @ "" 即可
注:UIAlertAction的字体也可改变,打印属性即可查看。取消按钮字体颜色的key是@"titleTextColor"
action.setValue(UIColor.orange, forKey:"titleTextColor")
3.属性可通过runtime打印
unsigned int count = 0;
Ivar *ivars = class_copyIvarList([UIAlertController class], &count);
for (int i = 0; i<count; i++) {
Ivar ivar = ivars[i];
NSLog(@"%s------%s", ivar_getName(ivar),ivar_getTypeEncoding(ivar));
}
本文介绍了从iOS 9.0开始UIAlertView被弃用后,如何使用UIAlertController替代UIAlertView来显示警告对话框。不仅展示了基本的UIAlertController使用方法,还详细说明了如何自定义UIAlertController中的标题、消息文字样式及按钮样式。
2351

被折叠的 条评论
为什么被折叠?



