【发布时间】:2018-02-25 18:35:43
【问题描述】:
我不确定这是否是罪魁祸首,但我对这个项目所做的最大改变是几天前升级到 Swift 4。我知道我的 UIAlertController 消息在需要时显示为多行,但今天我偶然意识到它们都变成了单行并且最后有省略号。由于我从 API 显示这些消息,因此我不能使用“\n”。代码很简单;
let alert = UIAlertController(title: "Title", message: "Long message that must be shown as multiline", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (action: UIAlertAction!) in
alert.dismiss(animated: true, completion: nil)
}))
present(alert, animated: true, completion: nil)
我检查了一些其他相关问题,但没有一个对我有用。最近有人问这个问题,但没有得到答案,并且发布了一个 hacky 解决方法作为解决方案;
非常感谢任何关于检查内容的建议。
【问题讨论】:
-
我刚刚在 Xcode 上测试过,没有任何问题。所以我的问题是你使用的 API 是什么?
-
@Jake API 是我自己开发的 API,我也在 Android 应用程序中使用它。当我打印响应的 JSON 字符串时,整个消息就在那里。正如我所说,我很确定这在不久前还有效,所以一定有什么东西破坏了它。你用 Swift 4 试过了吗?
-
是的,我是。我在警报消息中打印了 3 或 4 行。
-
那么,如果你从你的 api 中提取消息,那么消息中会放置什么类型的数据?您是否尝试将其强制转换为
String? -
@Jake 响应为 JSON,消息为字符串。与API无关,因为我尝试在代码中手动输入消息,仍然是一行。