在 iOS 中,很少有需要单独定制 UIAlertView 的情况,一般采用系统样式即可。但是有时候会有一些特殊需求,比如调整 UIAlertView 的字体、字体大小、字体对齐方式等,这时就需要单独对 UIAlertView 进行定制了。定制的方法也很简单,在 viewController 的 Delegate 实现方法 willPresentAlertView 中遍历 UIAlertView 下面的所有 subview,找到对应的 UILabel,然后修改 UILabel 的属性即可。操作基本一致。
参考代码:
- (void)willPresentAlertView:(UIAlertView *)alertView {
// 遍历 UIAlertView 所包含的所有控件
for (UIView *tempView in alertView.subviews) {
if (\[tempView isKindOfClass:\[UILabel class\]\]) {
// 当该控件为一个UILabel时
UILabel \*tempLabel = (UILabel \*) tempView;
if (\[tempLabel.text isEqualToString:alertView.message\]) {
// 调整对齐方式
tempLabel.textAlignment = UITextAlignmentLeft;
// 调整字体大小
\[tempLabel setFont:\[UIFont systemFontOfSize:15.0\]\];
}
}
}
}
以上代码不会出现使用了私有 API 的问题