屏幕

2016-08-14 106 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