2015-06-19 69 views
0

我正在嘗試做一個簡單的任務,創建一個活動指示器,標籤上寫着「正在加載」或「保存」或任何我編程時說的運行時間。我似乎無法弄清楚如何讓它直接在我的活動指標下,但現在它正好在它的一側,並且我想在它下面居中。快速活動指示器和標籤

這裏是我的代碼:

public func show(viewController : UIViewController) { 
    Async.main { 
     self.spinner = UIActivityIndicatorView(frame: CGRectMake(0, 0, self.size, self.size)) 
     self.activityLabel = UILabel(frame: CGRectMake(0,0,200,200)) 
     if let spinner = self.spinner { 
      spinner.activityIndicatorViewStyle = self.style 
      let screenSize: CGRect = UIScreen.mainScreen().bounds 
      spinner.center = CGPoint (x: screenSize.width/2 , y: screenSize.height/2) 
      spinner.hidesWhenStopped = true 
      viewController.view.addSubview(spinner) 
      spinner.startAnimating() 
      self.activityLabel?.center = CGPoint (x: screenSize.width/2 , y: screenSize.height/1.9 ) 
      self.activityLabel?.text = self.textmessage 
      viewController.view.addSubview(self.activityLabel!) 
     } 
    } 
} 

感謝您的幫助!

+1

您應該使用自動佈局進行精確佈局。而且你正在使用中心,你可以使用框架來簡化計算。 – Sandeep

回答

1

我認爲你遇到的問題與標籤錯位是因爲你沒有將標籤的textAlignment設置爲.center。您需要添加:

self.activityLabel.textAlignment = .center 

這應該將文本直接放在微調器下方的標籤內。

+0

非常感謝,修復它! –

+0

很高興工作。 – dudeman

+0

@SOlson請接受這個答案,thx! – Sulfkain