SKLabelNode删除前导和尾随空格 – 我该如何阻止它?

我想创建一个SKLabelNode,它应该具有相同的长度(对于单词猜谜游戏)。 不幸的是,SKLabelNode决定始终切断任何前导和尾随空格。 文档中未描述此行为。 如何避免/关闭该行为?

如果您只是希望标签对齐以便它们右对齐,则使用正确的对齐模式。

myLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeRight; 

但是,如果您尝试在SKLabelNode周围创建一个矩形,那么您会发现calculateAccumulatedFrame确实在计算标签宽度之前剥离了任何空格,并返回了错误的大小。

但是你可以作弊 – 使用一个角色作为虚拟大小调整指标来添加到你的帧大小。

 SKLabelNode* dummyPaddingLetter = [SKLabelNode labelNodeWithFontNamed:]; dummyPaddingLetter.fontSize = ; dummyPaddingLetter.text = @"W"; // something 'wide' float fOneSpace = [dummyPaddingLetter calculateAccumulatedFrame].size.width; 

现在添加多个fOneSpace的倍数到你的矩形的宽度,它可能是正确的。