将活动指示器添加到警报视图

Posted

技术标签:

【中文标题】将活动指示器添加到警报视图【英文标题】:Adding activity indicator to alert view 【发布时间】:2014-11-25 17:54:28 【问题描述】:

我想在警报视图中添加一个活动指示器,以便用户在文件下载操作正在进行时等待。

我检查了其中一个post,它说addSubViewios 7 及更高版本的UIAlertView 上不起作用,所以有人建议使用:

[alertView setValue:indicator forKey:@"accessoryView"]

那么,它是正确的方法吗,它是否与 iOS 的 HIG 一起使用。如果没有,正确的做法是什么?

【问题讨论】:

正确的方法是实现自己的警报视图。 能否提供适当的链接(如果有)。 最好的方法是实现你自己的UIView,它看起来像一个警报视图,并在你的自定义视图中添加一个UIActivityIndicator。这样的事情可能会有所帮助:github.com/wimagguc/ios-custom-alertview 【参考方案1】:

使用 UIAlertView 来显示文件下载进度本身并不是一个正确的设计决策。理想情况下,您应该只使用警报视图来显示警报或提示?人们也将它用于用户输入,但并不推荐。

我会使用普通的 UIActivityIndi​​catorView 或 UIProgressView 来显示您的实际下载进度。

【讨论】:

【参考方案2】:

UIAlertView 添加子视图并不常见。我宁愿使用其中一个库来呈现警报和活动指示器。

MBProgressHUD 或 SVProgressHUD

【讨论】:

我是否需要在某处提及它们。他们会通过 HIG 吗? 是否要归属于它们完全取决于你,大多数常见的应用程序都使用它们,你不必担心 HIG

以上是关于将活动指示器添加到警报视图的主要内容,如果未能解决你的问题,请参考以下文章

将子视图添加到启动画面

如何以编程方式使用自动布局将活动指示器定位到其超级视图的中心?

在 AVPlayerViewController tvos 视图中添加活动指示器

没有按钮的 UIAlertView 以及如何关闭它

满足两个条件时将两个指示器警报合并为一个警报

将“活动指示器”添加到 TableView 并在 Swift 中恢复为“披露指示器”