我试图通过不同的方法更改计时器中的计时器,我在UIIiewPickerviewController上的UIView叠加层中以编程方式创建了标签的文本,当然,当我尝试以这种方式更改文本时< / p>
labelname.text = @&#34; TEST&#34 ;;
我收到错误&#34;使用未声明的标识符labelname
&#34;
我如何参考该特定标签?我应该在每次计时器滴答时创建一个新标签吗?
我试图在.h文件中声明它,但我猜测我只是创建了一个不同的标签......任何想法?
答案 0 :(得分:0)
将标签作为一个整体传递给定时器功能:
Say Your Label在ViewDidLoad中定义如下:
- (void)viewDidLoad
{
//Do Something here
UILabel * label = [[UILabel alloc]
initWithFrame:CGRectMake(xcoordinateLabel, ycoordinateLabel, width, height)];
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
label.textColor=[UIColor whiteColor];
label.text = @"TEST";
[self.view addSubview:label];
[self changeLabelText:label];
}
你的changeLabelText定义为延迟时间:
- (void) changeLabelText:(UILabel *)label
{
//Changing Values after 10s Delay
double delayInSeconds = 10.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,
(int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
label.text = @"TESTING Change";
});
}
您的计时器功能可以替换changeLabelText