在viewDidLoad中我展示标签条件检查帮助的Xcode
[label setText:@"hello"];
上和一定的事件中,我把它隐藏后的案文。现在我想的条件检查
if([label.text isEqualToString:@"hello"] is visible on screen for >= 30 seconds)
{
//some code......
}
请帮我做这个检查
在viewDidLoad中我展示标签条件检查帮助的Xcode
[label setText:@"hello"];
上和一定的事件中,我把它隐藏后的案文。现在我想的条件检查
if([label.text isEqualToString:@"hello"] is visible on screen for >= 30 seconds)
{
//some code......
}
请帮我做这个检查
您正在寻找这样的事情?
{
//your method.
[label setText:@"hello"];
[self performSelector:@selector(afterDelay) withObject:nil afterDelay:30];
}
-(void)afterDelay {
[label setText:@""];
}
而且你可以使用条件:
if(label.text.length == 0) {
}
要找出当你的文字一直在屏幕上30秒,您将需要使用定时器。 IO的计时器类是NSTimer
。检查Apple Dev Center获取更多信息。
您可能需要使用scheduleTimerWithInterval:target:selector:repeats
方法,并将其设置为不重复,并将时间间隔设置为30秒。
试试这个代码:
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;
}
虽然不正是我想要的,但是从你的answer..than KS有一个提示:) – user2082760 2013-02-18 10:50:54