UIAlertView似乎与iOS8不兼容。我刚刚发现我的所有多行UIAlertViews在iOS8中都被截断了单行(用于消息)。在iOS7中,它们可以正确显示多行。
iOS7:
iOS8上:
[[[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个地方有警报视图,现在没有时间表来改变所有这些...
答案 0 :(得分:2)
此问题现已解决 - Apple Apple获得答案:
"您的示例项目在UILabel上声明了一个覆盖-intrinsicContentSize的类别。覆盖UIKit方法会导致不可预测的行为。"
所以我删除了覆盖,一切正常。
覆盖是:
-(CGSize)intrinsicContentSize {
CGSize s = [super intrinsicContentSize];
s = CGSizeMake(s.width, s.height + 4);
return s;
}