2013-02-18 81 views
3

在viewDidLoad中我展示标签条件检查帮助的Xcode

[label setText:@"hello"]; 

上和一定的事件中,我把它隐藏后的案文。现在我想的条件检查

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

请帮我做这个检查

回答

3

您正在寻找这样的事情?

{ 
    //your method. 
    [label setText:@"hello"]; 
    [self performSelector:@selector(afterDelay) withObject:nil afterDelay:30]; 
    } 

    -(void)afterDelay { 
    [label setText:@""]; 
    } 

而且你可以使用条件:

if(label.text.length == 0) { 
    } 
+0

虽然不正是我想要的,但是从你的answer..than KS有一个提示:) – user2082760 2013-02-18 10:50:54

0

要找出当你的文字一直在屏幕上30秒,您将需要使用定时器。 IO的计时器类是NSTimer。检查Apple Dev Center获取更多信息。

您可能需要使用scheduleTimerWithInterval:target:selector:repeats方法,并将其设置为不重复,并将时间间隔设置为30秒。

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