如何在UIAlertView中对齐消息?

时间:2009-09-08 06:49:33

标签: iphone objective-c xcode

我想知道如何设置警报视图的委托消息的对齐方式。任何人都有解决方案,PLZ回复一些代码。

3 个答案:

答案 0 :(得分:9)

您需要获取alertView的子视图。迭代子视图的数组,它将有一个UILable类型的项目。从子视图数组中获取UILabel,为此可以设置textAlignment属性。

NSArray *subViewArray = alertView.subviews;
 for(int x=0;x<[subViewArray count];x++){
 if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]])
  {
      UILabel *label = [subViewArray objectAtIndex:x];
    label.textAlignment = UITextAlignmentCenter;
  }

}

答案 1 :(得分:9)

这只是上一个答案的略微简化版本,但我喜欢简单易懂。 :)

for (UIView *view in alert.subviews) {
    if([[view class] isSubclassOfClass:[UILabel class]]) {
        ((UILabel*)view).textAlignment = NSTextAlignmentLeft;
    }
}

答案 2 :(得分:1)

以下代码在iOS7上无效,仅在iOS7之前。

for (UIView *view in alert.subviews) {
    if([[view class] isSubclassOfClass:[UILabel class]]) {
       ((UILabel*)view).textAlignment = NSTextAlignmentLeft;
    }
}

问题Align message in UIAlertView to left in iOS 7解决了这个问题。