2015-06-21 64 views
1

我试图让我的UIActivityIndi​​cator显示在所有内容之上。不幸的是,我无法做到这一点。它显示了像这样(实际微调是在最前面,但背景是一切的背后):UIActivityIndi​​cator在我的视图中显示在其他所有内容后面

enter image description here

它显示在视图中一切的背后。这里是我的代码:

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背景展现出来的一切的顶部(如微调正在这样做)?

感谢您提前提供的所有帮助!

干杯!

+0

其实你错了。微调不是以某种方式与其背景分开的。那是不可能的。他们在一起。微调者并不在所有事物的前面。密码中的P位于微调器前面。周围的白色围绕着微调器。现在你必须问自己 - 他们是如何到达那里的?使用视图调试器来检查视图和分层并查看。 – matt

+0

你试过'.layer.zPosition'属性了吗? – LinusGeffarth

+0

使用MBProgressHUD,如果你不使用CocoaPods然后只是得到这两个文件,并把它们放入你的swift项目并更新我的桥接头文件 – kareem

回答

2

self.activityIndicator添加到视图层次后,可以拨打view.bringSubviewToFront(self.activityIndicator)

0

您可以通过为您的UIActivityIndicatorView添加背景颜色的过程,但这是我认为的一个解决方案。

相反,我会强烈建议使用MBProgressHUD

它是开源的,易于下载(包括CocoaPods支持),并且非常易于使用。与处理自己的背景颜色,淡入淡出/动画,圆角等相比,它具有更好的用户体验,并且可以在视图堆栈中的其他所有元素上进行smooshing。

+0

我看着图书馆,它似乎很容易使用。我想知道是否可以通过在Swift中提供示例来帮助我(因为除了桥接头之外,所有示例都在Obj-C中,并且我从未真正使用它)。感谢您的帮助! – idelara

相关问题