屏幕

2016-08-14 111 views
0

中心放置的UILabel我有一個的UILabel我想在屏幕中心顯示無論哪個iPhone更是打出了!屏幕

但我無法得到它的權利!它總是在別的地方,但不在中間。

我到底做錯了什麼?

這裏是畫面和正在發生的事情的代碼!

so not in the middle!

class end: SKScene { 

    var label = UILabel() 


    override func didMoveToView(view: SKView) { 
     scene?.backgroundColor = UIColor(red: CGFloat(59.0/255.0), green: CGFloat(89.0/255.0), blue: CGFloat(152.0/255.0), alpha: CGFloat(1.0)) 

     let w = UIScreen.mainScreen().bounds.width 
     let h = UIScreen.mainScreen().bounds.height 
     label = UILabel(frame: CGRect(x: w/2, y: h/2, width: 120, height: 30)) 
     label.text = "REPLAY" 
     label.center = CGPoint(x: w/2, y: 2) 
     label.textColor = UIColor.whiteColor() 
     self.view?.addSubview(label) 
+0

它是簡單的如(在容器的水平和垂直中心標籤)的IB增加兩個約束。但爲什麼你需要UILabel? UILabel被添加到視圖中,而不是現場。這可能需要在轉換到其他場景時進行額外處理(處置)。有一個SKLabelNode,它不像UILabel那麼強大,但它是原生的SpriteKit組件。 – Whirlwind

回答

0

最好的選擇是去爲自動佈局。您可以將它垂直和水平對齊以進行查看。無論顯示或方向如何,它都可以工作。

您可以使用界面生成器,或者你可以添加autolayoutconstraints

9

我覺得你的標籤實際上中心。

如果我加一個紅色的背景顏色,像這樣:

label.backgroundColor = UIColor.redColor() 

,改變垂直中心是在屏幕的中心,也就是改變這條線在你的榜樣:

label.center = CGPoint(x: w/2, y: 2) 

這樣:

label.center = CGPoint(x: w/2, y: h/2) 

我結束了這一點:

centered label but not centered text

所以,標籤實際上是居中。但是,文本不在標籤中居中,這使得當您沒有背景色時,文本看起來好像不居中。

如果我改變textAlignment.Center和去除背景顏色再次我結束了這樣的結果:

centered text in centered label

最終的代碼示例如下:

override func didMoveToView(view: SKView) { 
    scene?.backgroundColor = UIColor(red: CGFloat(59.0/255.0), green: CGFloat(89.0/255.0), blue: CGFloat(152.0/255.0), alpha: CGFloat(1.0)) 

    let w = UIScreen.mainScreen().bounds.width 
    let h = UIScreen.mainScreen().bounds.height 

    label = UILabel(frame: CGRect(x: w/2, y: h/2, width: 120, height: 30)) 
    label.text = "REPLAY" 
    label.center = CGPoint(x: w/2, y: h/2) 
    label.textAlignment = .Center 
    label.textColor = UIColor.whiteColor() 
    self.view?.addSubview(label) 
} 

當所有說,那麼也許你應該看看SKLabelNode爲@whirlwind暗示的評論,這樣你的標籤成爲一個SKScene的一個組成部分nd不是被螺栓連接到外部UIView(如果這對你有任何意義)。

希望這可以幫助你。

+0

我不敢相信我是那麼愚蠢!謝謝你,先生! –

+0

@OsaamaShehzad歡迎您,很高興您能夠開展工作,並在此過程中瞭解有關中心對齊的文本的信息。不要覺得愚蠢......我們每天都在......每天都有:)如果你認爲它對你有幫助,歡迎隨時將答案標記爲已接受:) – pbodsk

+0

謝謝!它運作良好。 – Raja