我每次在UILabel
方法中创建自定义[self refreshInterface]
,每次在[viewWillAppear]
方法中调用该方法。它工作正常,直到我导航到其他UIViewController
,然后返回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];
}
答案 0 :(得分:0)
您的视图控制器正在保存其视图。当您返回viewController
并创建新的UILabel
时,它会显示在上一个UILabel
上。
就像rmaddy在评论中所说:
将viewcontroller
绑定到班级的属性(self.yourLabel.text = @"The text you want to assign";
),然后重新分配文字。这绝对是最简单的解决方案。 IBoutlet
在大约2:00分左右,此视频介绍了如何通过XIB
或storyboard
中的标签创建- (void)viewWillDisappear {}
。 http://teamtreehouse.com/library/build-a-simple-iphone-app/getting-started-with-iphone/what-is-an-iboutlet-2
然而,您可以UILabel
通过获取子视图列表并检查UILabel
,然后删除它来删除{{1}}。