2014-10-27 47 views
0

我每次在[self refreshInterface]方法中創建我的自定義UILabel,該方法每次在[viewWillAppear]方法中調用。它工作正常,直到我導航到其他UIViewController,然後返回UILabel的新文本。iOS 7:在舊值上打印自定義UILabel新值

新數據打印在前一個上,看起來很醜。如何擺脫我的label.text的舊值,然後再打印出新的。

代碼:

if(_coin.dublicates.count>0) 
    { 
     UILabel *lbl=[[UILabel alloc]initWithFrame:CGRectMake(25.0, 13.0, 60.0, 20.0)]; 
     lbl.font=[UIFont fontWithName:@"Lato-Regular" size:8]; 
     lbl.textAlignment=NSTextAlignmentCenter; 
     lbl.textColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"greenBg"]]; 
     lbl.text=[NSString stringWithFormat:@" +%lu",(unsigned long)_coin.dublicates.count]; 
     [_toolbar addSubview:lbl]; 
    } 
+1

不要繼續添加新標籤。只需添加一個。保留對它的引用,如果它已經存在,只需更新其文本。 – rmaddy 2014-10-27 18:20:41

+0

它沒有幫助。一旦創建,它就停留在工具欄上 – NCFUSN 2014-10-27 18:24:54

+1

是的,一旦創建它保持。這就是爲什麼你不應該繼續添加更多標籤。或者至少在添加新標籤之前刪除舊標籤。 – rmaddy 2014-10-27 18:26:33

回答

0

您的視圖控制器節省自己的看法。當你回到你的viewController並創建一個新的UILabel,它只是出現在前一個。

像rmaddy在他的評論中說:

領帶UILabel到類(viewcontroller)的屬性,只是重新分配文本。這絕對是最簡單的解決方案。 self.yourLabel.text = @"The text you want to assign";

在大約2:00分鐘的時間內,本視頻介紹瞭如何從XIBstoryboard中的標籤創建IBoutlethttp://teamtreehouse.com/library/build-a-simple-iphone-app/getting-started-with-iphone/what-is-an-iboutlet-2

你可以然而,在- (void)viewWillDisappear {}刪除UILabel通過獲取子視圖列表,並檢查UILabel,然後脫除。

+1

我知道如何創建IBOUtlets。這不是問題。我喜歡你提到的viewWillDesapear方法。 – NCFUSN 2014-10-27 18:32:52

+1

好的。已經實現了你的viewWillDisappear方法。現在它工作。謝謝。 – NCFUSN 2014-10-27 18:49:14