在我看来,UIActivityIndi​​cator 显示在其他所有内容后面

UIActivityIndicator is showing behind everything else in my view

我正在尝试让我的 UIActivityIndi​​cator 显示在所有内容之上。不幸的是,我无法让它这样做。它显示如下(实际微调器在顶部,但背景在所有内容之后):

它显示了视图中所有内容的背后。这是我的代码:

var activityIndicator:UIActivityIndicatorView = UIActivityIndicatorView(frame: CGRectMake(0, 0, 150, 150))
self.activityIndicator.center = self.view.center
self.activityIndicator.hidesWhenStopped = true
self.activityIndicator.backgroundColor = (UIColor(white: 0.0, alpha: 0.8))
self.activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
self.activityIndicator.layer.cornerRadius = 5
view.addSubview(self.activityIndicator)
activityIndicator.startAnimating()

如何让我的 activityIndi​​cator 背景显示在所有内容之上(就像微调器那样)?

提前感谢您的帮助!

干杯!

您可以完成为 UIActivityIndicatorView 添加背景颜色的过程,但我认为这是一个权宜之计。

相反,我强烈建议使用 MBProgressHUD

它是开源的,易于使用(包括 CocoaPods 支持),而且非常易于使用。与处理您自己的背景颜色、fading/animation、圆角等并将其叠加在视图堆栈中的所有其他内容之上相比,这是一种更好的用户体验。

self.activityIndicator 添加到视图层次结构后,您可以调用 view.bringSubviewToFront(self.activityIndicator)