iOS では、UIAlertView を個別にカスタマイズする必要はほとんどありません。通常はシステムのスタイルを使用するだけですが、時には特定の要件(例:UIAlertView のフォント、フォントサイズ、フォントの配置など)に対して個別のカスタマイズが必要になることがあります。カスタマイズの方法も非常に簡単で、viewController の Delegate の willPresentAlertView メソッドで UIAlertView のすべてのサブビューを走査し、対応する 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 を使用している問題は発生しません。