我想创建一个 SKLabelNode,它应该始终具有相同的长度(对于猜词游戏)。不幸的是 SKLabelNode 决定始终切断任何前导和尾随空格。文档中未描述此行为。我怎样才能避免/关闭这种行为?
如果您只是想让标签对齐以便它们右对齐,那么请使用右对齐模式。
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 的倍数添加到矩形的宽度中,它可能会是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)