UIAlertView自动换行在iOS8中消失了吗?

时间:2014-10-20 15:05:00

标签: ios7 ios8 uialertview uialertcontroller

UIAlertView似乎与iOS8不兼容。我刚刚发现我的所有多行UIAlertViews在iOS8中都被截断了单行(用于消息)。在iOS7中,它们可以正确显示多行。

iOS7: enter image description here

iOS8上: enter image description here

[[[UIAlertView alloc] initWithTitle:@"Namn saknas"
                            message:@"Du måste fylla i ditt namn för att kommentera"
                           delegate:nil
                  cancelButtonTitle:@"OK"
                  otherButtonTitles: nil] show];

我知道UIAlertController应该在iOS8及更高版本中使用,并且从iOS8开始不推荐使用UIAlertView。

但是在iOS8中不应该像以前一样(即iOS7)工作吗?如果没有,不应该从iOS7中弃用它吗?

或者我在这里遗漏了什么?这些不仅仅是关于事情应该如何的伪问题 - 我在代码中有超过40个地方有警报视图,现在没有时间表来改变所有这些...

1 个答案:

答案 0 :(得分:2)

此问题现已解决 - Apple Apple获得答案:

"您的示例项目在UILabel上声明了一个覆盖-intrinsicContentSize的类别。覆盖UIKit方法会导致不可预测的行为。"

所以我删除了覆盖,一切正常。

覆盖是:

-(CGSize)intrinsicContentSize {
    CGSize s = [super intrinsicContentSize];
    s = CGSizeMake(s.width, s.height + 4);
    return s;
}
相关问题