UIAlertView 滚动问题

Posted

技术标签:

【中文标题】UIAlertView 滚动问题【英文标题】:UIAlertView scrolling issue 【发布时间】:2018-02-20 07:10:56 【问题描述】:

所以我使用 UIAlertView 向用户显示一些内容。内容真的很长,后面跟着4个按钮。由于内容的长度,整个内容无法放入屏幕。

但不是内容可滚动,而是按钮部分(内容下方)变为可滚动的,这导致其中一个按钮一开始就被隐藏(不是很直观)。我希望内容可以滚动。

【问题讨论】:

我认为您必须为此编写自己的警报。或者您可以尝试使用许多提供自定义警报视图的 cocoapods。 我真的不想只用一个 Cocoapod 来发出警报。那么你的意思是,这就是 ios 中的默认行为吗? 是的,UIAlertController 不是很可定制。如果你愿意,你可以自己写。 如果您不想要可可豆荚,请编写您自己的自定义警报代码。 【参考方案1】:

UIAlertView 在 iOS 8 中已弃用。要在 iOS 8 及更高版本中创建和管理警报,请改用 UIAlertControllerpreferredStylealert。如果它们不适合屏幕,它也会为您提供带有可滚动action 的可滚动文本。

let  alert = UIAlertController(title: YOUR_TITLE, message: YOUR_LONG_MESSAGE, preferredStyle: UIAlertControllerStyle.alert)
alert.view.tintColor = .red
alert.addAction(UIAlertAction(title: "Okay1", style: UIAlertActionStyle.default, handler: nil))
alert.addAction(UIAlertAction(title: "Okay2", style: UIAlertActionStyle.default, handler: nil))
alert.addAction(UIAlertAction(title: "Okay3", style: UIAlertActionStyle.default, handler: nil))
alert.addAction(UIAlertAction(title: "Okay4", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)

【讨论】:

很遗憾,这并没有回答我的问题

以上是关于UIAlertView 滚动问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ipad 应用程序的后台线程中显示 UIAlertView?

UIAlertView 具有用户提供的上下文和 [self autorelease]

检测 Internet 连接并显示 UIAlertview Swift 3

UIAlertView 滚动问题

UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

有任何非私有 API 替代品吗?