如何在 UIAlertView 中对齐消息?

Posted

技术标签:

【中文标题】如何在 UIAlertView 中对齐消息?【英文标题】:How to align messages in UIAlertView? 【发布时间】:2009-09-08 06:49:32 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

UITextAlignmentLeft 已弃用,请使用 NSTextAlignmentLeft【参考方案2】:

你需要获取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;
  


【讨论】:

有效。谢谢。不过有一个小错字:第一行的“subViews”应该是“subview” :-) 它实际上应该是“子视图”! :D【参考方案3】:

下面的代码不适用于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解决了这个问题。

【讨论】:

以上是关于如何在 UIAlertView 中对齐消息?的主要内容,如果未能解决你的问题,请参考以下文章

在 UIAlertView 中使用滑块?

在 iOS8 Swift 中对齐左 AlertView 消息

如何在 UIAlertView 的消息字段中添加多行文本

如何在 UIAlertView 的消息中添加可触摸的 Url 链接到 url?

如何更改 UIAlertView 按钮的宽度?

为啥在我的视图被推送到导航堆栈之前我的 UIAlertView 没有在屏幕上消失?