在 viewDidLoad 我在标签上显示一个文本
[label setText:@"hello"];
在某个事件之后,我将其隐藏起来。现在我想要一个条件来检查
if([label.text isEqualToString:@"hello"] is visible on screen for >= 30 seconds)
{
//some code......
}
请帮我做这个检查
在 viewDidLoad 我在标签上显示一个文本
[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 开发中心了解更多信息。
您可能希望使用该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;
}