在viewDidLoad中,我在标签上显示文字
[label setText:@"hello"];
在某个事件之后我隐藏了它。现在我想要一个条件来检查
if([label.text isEqualToString:@"hello"] is visible on screen for >= 30 seconds)
{
//some code......
}
请帮我做一下检查
答案 0 :(得分:3)
你在找这样的东西吗?
{
//your method.
[label setText:@"hello"];
[self performSelector:@selector(afterDelay) withObject:nil afterDelay:30];
}
-(void)afterDelay {
[label setText:@""];
}
您可以使用的条件:
if(label.text.length == 0) {
}
答案 1 :(得分:0)
要了解文本在屏幕上显示30秒的时间,您需要使用计时器。 IO的计时器类是NSTimer
。查看Apple Dev Center以获取有关它的更多信息。
您可能希望使用scheduleTimerWithInterval:target:selector:repeats
方法并将其设置为非重复且时间间隔为30秒。
答案 2 :(得分:0)
试试这段代码:
if ([label.text isEqualToString:@"hello"]) {
NSTimer * tm = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(hideLabel) userInfo:nil repeats:NO];
}
-(void)hideLabel {
self.label.hidden = YES;
}