如何将UILabel置于SKSpriteNode之后

时间:2015-12-25 15:19:49

标签: ios swift uilabel skspritenode

我正在尝试将UILabel放在SKSpriteNode后面。但是,我尝试将标签留在SpriteNode前面。 z-index不起作用,而.movetoback也不起作用。

有人可以解释我怎么做吗?

1 个答案:

答案 0 :(得分:3)

您可以将UILabel添加为SKView的子视图,并相应地调整其位置。

E.g。下面创建一个白色方形精灵,前面有一个UILabel:

scene = SKScene(size: spriteView.bounds.size)
scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)

let sprite = SKSpriteNode(
    color: SKColor.whiteColor(),
    size: CGSize(width: 100, height: 100)
)

scene.addChild(sprite)

spriteView.presentScene(scene)

let frame = CGRect(
    x: spriteView.bounds.midX - 50,
    y: spriteView.bounds.midY - 50,
    width: 100,
    height: 100)

label = UILabel(frame: frame)
label.textAlignment = .Center
label.text = "Ook"

spriteView.addSubview(label)

P.S。我无法理解你为什么要使用UILabel SpriteKit SKLabelNode TDS_DATETIME几乎相同,但可以成为场景的一部分,这样会让你的生活变得更轻松调整职位。