2015-06-21 61 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

相關問題