UIButton标题标签延迟



我在设置按钮的标题标签时遇到问题。基本上我有两个屏幕,它们都有这个按钮,但上面都写着不同的"数字"。现在的情况是,在按钮标题准确反映我所处的屏幕之前,有一个非常明显的1-2秒的延迟。我试图放置[self.button reloadInputViews];,但它仍然没有重新加载,我仍然得到了延迟。

[self.button setTitle:[NSString stringWithFormat:@"%d", [stringValue integerValue]]
             forState:UIControlStateNormal];

有人知道我如何强制按钮刷新它的标题标签吗?谢谢你的帮助!

编辑:上下文的更多代码

        self.guestsField = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    self.guestsField.frame = CGRectMake(self.guestsLabel.frame.origin.x + self.guestsLabel.frame.size.width, 100, 40, 30);
    self.guestsField.titleLabel.font = [UIFont systemFontOfSize:20];
    [self.guestsField addTarget:self action:@selector(pressGuestsField:) forControlEvents:UIControlEventTouchDown];
    [self.view addSubview:self.guestsField];'

myFunction{
NSDictionary*dict=[通知用户信息];

    if ([dict count] > 0)
    {
        [self.guestsField setTitle:[NSString stringWithFormat:@"%d", [GetOrder.NumberOfGuests integerValue]] forState:UIControlStateNormal];
    }

}

修复了它:在另一个线程上运行myFunction。刚刚在主线程dispatch_sync(dispatch_get_main_queue(), ^{ 中执行了setTitle

如果您在从服务器检索数据之后才等待设置标签,那么这似乎就是延迟的原因。评论你的网络代码,看看你的标签是否会立即更新。

最新更新