条件检查帮助xcode

时间:2013-02-18 10:34:46

标签: ios objective-c xcode uilabel

在viewDidLoad中,我在标签上显示文字

[label setText:@"hello"];

在某个事件之后我隐藏了它。现在我想要一个条件来检查

if([label.text isEqualToString:@"hello"] is visible on screen for >= 30 seconds)
{
//some code......
}

请帮我做一下检查

3 个答案:

答案 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;
    }