今天碰到一個設置UIAlertView中間Message的文本左對齊的問題,因爲iphoneSDK默認是居中對齊的,而且沒有提供方法設置文本對齊接口,解決這個問題的思路很簡單,就是在Delegate:
- (void)willPresentAlertView:(UIAlertView *)alertView;
獲取UIAlertView上面的Message控件,它其實也是一個UILable控件,然後設置其textAlignment的屬性即可。代碼如下:
#pragma mark -UIAlertViewDelegate
- (void)willPresentAlertView:(UIAlertView *)alertView{
UIView * view = [alertView.subviews objectAtIndex:2];
if([view isKindOfClass:[UILabel class]]){
UILabel* label = (UILabel*) view;
label.textAlignment = UITextAlignmentLeft;
}
}
這裏要注意的是,Message的UILable在alertView.subviews裏面是第3個元素,第一個元素是一個UIImageView(背景),UILable(標題),UILable(Message),UIButton(Cancel)...(如果還有的話以此類推)。