OGeek|极客世界-中国程序员成长平台

标题: ios - Sprite 套件 : Label 'jumps' when text changes [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:50
标题: ios - Sprite 套件 : Label 'jumps' when text changes

我有一个标签,显示自玩家第一次触摸屏幕以来在我的游戏中耗时。它显示秒和毫秒。我使用

将它定位在框架的中间
 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;
}



Best Answer-推荐答案


尝试像这样将标签的对齐方式设置为居中:

timeLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeCenter;
timeLabel.verticalAlignmentMode = SKLabelVerticalAlignmentModeCenter;

关于ios - Sprite 套件 : Label 'jumps' when text changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23322147/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4