Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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 是否设置SKLabelNode的背景色?_Ios_Skspritenode_Sklabelnode - Fatal编程技术网

Ios 是否设置SKLabelNode的背景色?

Ios 是否设置SKLabelNode的背景色?,ios,skspritenode,sklabelnode,Ios,Skspritenode,Sklabelnode,我想知道是否有一种方法可以设置SKLabelNode的背景色而不是字体颜色。我正在寻找下面提到的代码,它可以在ios应用程序中使用 label.backgroundColor = [UIColor redColor]; 尝试将SKLabelNode添加为SkSpritEndode的子节点 SKLabelNode *label = [[SKLabelNode alloc]initWithFontNamed:@"Helvetica"]; label.position = CGPointM

我想知道是否有一种方法可以设置SKLabelNode的背景色而不是字体颜色。我正在寻找下面提到的代码,它可以在ios应用程序中使用

     label.backgroundColor = [UIColor redColor];

尝试将SKLabelNode添加为SkSpritEndode的子节点

SKLabelNode *label = [[SKLabelNode alloc]initWithFontNamed:@"Helvetica"];
label.position = CGPointMake(0, -label.frame.size.height/2);

SKSpriteNode *background = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(label.frame.size.width, label.frame.size.height)];
background.position = CGPointMake(200, 100);

[background addChild:label];
[self addChild:background];

将SKLabelNode添加为SKSpriteNode的子节点可以工作,但会隐藏文本。因此,我通过将背景的zPosition设置为负数来解决这个问题。以下是swift 3的代码:

var label = SKLabelNode(fontNamed: "Helvetica")
label.position = CGPoint(x: CGFloat(0), y: CGFloat(-label.frame.size.height / 2))
var background = SKSpriteNode(color: UIColor.red, size: CGSize(width: CGFloat(label.frame.size.width), height:CGFloat(label.frame.size.height)))background.position = CGPoint(x: CGFloat(200), y: CGFloat(100))
background.zPosition = -1
label.addChild(background)
self.addChild(label)

在从标签节点计算背景“GCSize”之前,请确保包含文本值,否则返回的值将为零,因为它没有文本来确定标签的大小


…更正层问题

现在文本未显示在
SKLabelNode
中,并且我添加
SKSpriteNode
的特定区域已填充其颜色。是否设置label.text和label.fontColor属性以确保其可见?是。在添加这些代码行之前,一切正常。如果我将
clearColor
指定给
SKSpriteNode
,则任何内容都不可见。备选方案:将sklabelnode添加为SKSpriteNode的子节点。这样文本就不会被隐藏。