2

我有一个带有静态表格视图的故事板。

它有一个单元格是一个计数器。这是一个左侧细节:

countLabel "记录"

当我的计数增加时,我会更新 countLabel,但是当计数达到两位数时会发生一些非常奇怪的事情,即 10。标签只显示 1。这意味着我看到计数从 1 增加到 9,然后当计数达到 10 时标签只显示第一个数字。

我这样更新它:

NSUInteger count = [self getCount];
[countLabel setText:[NSString stringWithFormat:@"%d", count]];

我试图让故事板上的标签更大,但似乎不可能。我是否应该做其他事情来动态增加标签的大小。不知道为什么它会消失。

有任何想法吗?

4

1 回答 1

-1

增加 countLabel 宽度。并通过设置 countLabel 的背景颜色来检查显示的标签数量。

    NSUInteger count = [self getCount];
    [countLabel setText:[NSString stringWithFormat:@"%d", count]];
    [countLabel setBackgroundColor:[UIColor greenColor]];

如果在打印 1 后显示标签区域,则可能存在其他问题。但如果在 1 后未显示标签区域,则存在计数标签宽度的问题(增加计数标签宽度)。

如果尚未解决,请使用以下代码:-----

- (void)viewDidLoad
{
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateLbl) userInfo:nil repeats:YES];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)updateLbl
{
    count++;
    [lbl setText:[NSString stringWithFormat:@"%i",count]];
    CGSize lblSize = [lbl.text sizeWithFont:lbl.font];
    [lbl setFrame:CGRectMake(lbl.frame.origin.x,lbl.frame.origin.y,lblSize.width,lblSize.height)];
}
于 2013-06-07T06:08:40.117 回答