簡體   English   中英

UIButton標題標簽延遲

[英]UIButton title label delay

我在設置按鈕的標題標簽時遇到問題。 基本上我有2個屏幕,它們都有這個按鈕,但兩者都寫有不同的“數字”。 發生的事情是,在按鈕標題准確反映我所在的屏幕之前,有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 = [通知userInfo];

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

}

修復它:在不同的線程上運行myFunction。 剛剛在主線程dispatch_sync(dispatch_get_main_queue(), ^{中執行了setTitle dispatch_sync(dispatch_get_main_queue(), ^{

如果您等待設置標簽,直到從服務器檢索數據,這似乎是您延遲的原因。 注釋掉您的網絡代碼,看看您的標簽是否立即更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM