2016-02-02 22 views
0

我試圖在人員註冊時顯示文本。下一個屏幕shws與文本「檢查憑證......」,但是它的功能並不coreectly顯示文本在屏幕文本顯示不正確.text應放置在功能屏幕的中心

func rotatingspinner() 
    { 
     processingView = UIView() 

     processingView.frame = self.view.bounds 

     processingView.backgroundColor = UIColor(red: 0.0/255.0, green: 113.0/255.0 , blue: 138.0/255.0, alpha: 0.97) 

     processLabel = UILabel() 



     let device = Device() 


     if device == .iPhone6sPlus { 
      processLabel.frame = CGRectMake(145,410,160,30) 
     } 
     if device == .iPhone6s { 
      processLabel.frame = CGRectMake(125,375,160,30) 
     } 
     if device == .iPhone6Plus { 
      processLabel.frame = CGRectMake(145,410,160,30) 
     } 
     if device == .iPhone6 { 
      processLabel.frame = CGRectMake(125,375,160,30) 
     } 

     if device == .iPhone5s { 
      processLabel.frame = CGRectMake(100,325,160,20) 
     } 
     if device == .iPhone5 { 
      processLabel.frame = CGRectMake(100,325,160,20) 
     } 
     if device == .iPhone4s { 
      processLabel.frame = CGRectMake(100,275,160,20) 
     } 
     if device == .iPhone4 { 
      processLabel.frame = CGRectMake(100,275,160,20) 
     } 

     processLabel.text = "Checking Credentials......" 
     processLabel.font = UIFont(name: "Arial", size: 15.0) 
     processLabel.textColor = UIColor.whiteColor() 
     processingView.addSubview(processLabel) 
     self.processingView.addSubview(activityIndicator) 
     activityIndicator.center = self.processingView.center 
     activityIndicator.startAnimating() 
     self.view.addSubview(processingView) 

    } 

中間如何設置的旋轉微調screensize.window到框架並設置框架以保持文本在中間

+2

你應該真的開始學習如何使用自動佈局,並放棄這個瘋狂的道路硬編碼不同的幀爲每個設備。 – dan

回答

1

由於尼克已經表示你應該開始學習自動佈局。來到你的代碼,你並不需要擁有所有這些。您需要爲您的標籤計算框架以確保其位於中心位置。你可以這樣做

let labelHeight = CGFloat(30) 
let labelWidth = CGFloat(160) 
let labelX = (processingView.frame.size.width - labelHeight)/2 
let labelY = (processingView.frame.size.height - labelWidth)/2 
processLabel.frame = CGRectMake(labelX, labelY, labelWidth, labelHeight) 
+0

該代碼給出了一個錯誤,即二元運算符「 - 」不能應用於CGFloat和Int – Nick

+0

編輯該代碼。您可以將Int轉換爲CGFloat,然後減去 –

+0

,謝謝:-) – Nick