2013-02-18 86 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; 
    }