如何将 UILabel 放在 SKSpriteNode 后面
how to place UILabel behind SKSpriteNode
我正在尝试将 UILabel 放在 SKSpriteNode 后面。但无论我尝试什么,标签都停留在 SpriteNode 的前面。 z-index 不起作用,.movetoback 也不起作用。
谁能告诉我该怎么做?
您可以将 UILabel
添加为 SKView
的子视图并相应地调整其位置。
例如下面创建一个白色方形精灵,前面有一个 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
这实际上是相同的但可以成为场景的一部分,这样会让你的生活更轻松调整位置。
我正在尝试将 UILabel 放在 SKSpriteNode 后面。但无论我尝试什么,标签都停留在 SpriteNode 的前面。 z-index 不起作用,.movetoback 也不起作用。
谁能告诉我该怎么做?
您可以将 UILabel
添加为 SKView
的子视图并相应地调整其位置。
例如下面创建一个白色方形精灵,前面有一个 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
这实际上是相同的但可以成为场景的一部分,这样会让你的生活更轻松调整位置。