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的问题