我想创建一个SKLabelNode,它应该具有相同的长度(对于单词猜谜游戏)。不幸的是,SKLabelNode决定始终切断任何前导和尾随空格。文档中未描述此行为。如何避免/关闭该行为?
答案 0 :(得分:1)
如果您只想让标签对齐以便它们右对齐,那么请使用正确的对齐模式。
myLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeRight;
但是,如果您尝试在SKLabelNode周围创建一个矩形,那么您会发现calculateAccumulatedFrame在计算标签宽度之前确实剥离了任何空格,并返回了错误的大小。
但是你可以作弊 - 使用一个角色作为虚拟大小调整指标来添加到你的帧大小。
SKLabelNode* dummyPaddingLetter = [SKLabelNode labelNodeWithFontNamed:<your font name>];
dummyPaddingLetter.fontSize = <your font size>;
dummyPaddingLetter.text = @"W"; // something 'wide'
float fOneSpace = [dummyPaddingLetter calculateAccumulatedFrame].size.width;
现在将多个fOneSpace的倍数添加到矩形的宽度,它可能是正确的。