Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将UILabel放置在SKSpriteNode后面_Ios_Swift_Uilabel_Skspritenode - Fatal编程技术网

Ios 如何将UILabel放置在SKSpriteNode后面

Ios 如何将UILabel放置在SKSpriteNode后面,ios,swift,uilabel,skspritenode,Ios,Swift,Uilabel,Skspritenode,我试图在一个SKSpriteNode后面放置一个UILabel。但无论我试过什么,标签都会放在SpriteNode的前面。z索引不起作用。movetoback也不起作用 有人能告诉我怎么做吗?您可以添加UILabel作为SKView的子视图,并相应调整其位置 例如,下面创建一个白色方形精灵,其前面有一个UILabel: scene = SKScene(size: spriteView.bounds.size) scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)

我试图在一个SKSpriteNode后面放置一个UILabel。但无论我试过什么,标签都会放在SpriteNode的前面。z索引不起作用。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)

另外,我不明白为什么您要使用
UILabel
,而
SpriteKit
具有
SKLabelNode
,其功能几乎相同,但可以成为场景的一部分,因此,在调整位置方面,这将使您的生活更加轻松。

您可以添加
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)

另外,我不明白为什么您要使用
UILabel
,而
SpriteKit
具有
SKLabelNode
,其功能几乎相同,但可以成为场景的一部分,因此,在调整位置方面,这将使您的生活更轻松。

SKLabelNode
不支持文本换行,因此这可能是使用UILabel的一个令人信服的理由,尤其是在它不需要任何物理的情况下。
SKLabelNode
不支持文本换行,因此这可能是使用UILabel的一个令人信服的理由,尤其是在它不支持文本换行的情况下不需要任何物理