我有一个标签,显示自玩家第一次触摸屏幕以来在我的游戏中耗时。它显示秒和毫秒。我使用
将它定位在框架的中间 CGPointMake(CGRectGetMidX(self.frame)
问题是,并非所有数字看起来都具有相同的宽度(例如,1 小于 3)。这会导致我的标签在毫秒更新时从左到右快速跳跃一到两个像素。因为标签大小每次都会增加和减少,所以我的标签的 MidX 坐标会发生变化并导致我的标签移动。我希望它一直保持在同一个位置。
有人知道阻止它移动的解决方案吗?
编辑:标签代码
-(SKLabelNode *) timeLabel
{
timeLabel = [[SKLabelNode alloc] initWithFontNamed"Arial"];
timeLabel.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame);
timeLabel.fontColor = [SKColor blackColor];
timeLabel.fontSize = fontSize;
timeLabel.text = [NSString stringWithFormat"%02i:%02i,%02i", min, sec, mil];
return tijdLabel;
}
尝试像这样将标签的对齐方式设置为居中:
timeLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeCenter;
timeLabel.verticalAlignmentMode = SKLabelVerticalAlignmentModeCenter;
关于ios - Sprite 套件 : Label 'jumps' when text changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23322147/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |