UIAlertViewのsubviewsからUILabel型のオブジェクトを探してきて、textAlignmentプロパティを設定します。
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:msg delegate:delegate cancelButtonTitle:@"OK" otherButtonTitles:nil]; id obj = nil; // タイトル文字列が存在しない場合はsubviewsの1番目の要素 if (!title || !([title length] > 0)) { if ([[alertView subviews] count] > 0) { obj = [[alertView subviews] objectAtIndex:0]; } } // タイトル文字列が存在する場合はsubviewsの2番目の要素 else if ([title length] > 0) { if ([[alertView subviews] count] > 1) { obj = [[alertView subviews] objectAtIndex:1]; } } // UILabel型であればtextAlignmentを左寄せにセット if (obj && [obj isKindOfClass:[UILabel class]]) { ((UILabel *)obj).textAlignment = UITextAlignmentLeft; } [alertView show]; [alertView release]; }
ちなみにこういうのって審査通るの?と不安でしたが無事通りました。
(非公開APIはだめだけどsubviewsを勝手に取り出してアレコレするのはOKなのか。。?)