3

viewDidLoad では、ラベルにテキストを表示します

[label setText:@"hello"];

そしてある出来事の後、私はそれを隠します。今、私はチェックする条件が欲しい

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

このチェックを手伝ってください

4

3 に答える 3

3

このようなものをお探しですか?

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

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

そして、あなたが使用できる条件:

   if(label.text.length == 0) {
   }
于 2013-02-18T10:39:14.870 に答える
0

テキストが画面に 30 秒間表示された時間を確認するには、タイマーを使用する必要があります。IO のタイマー クラスはNSTimer. 詳細については、 Apple Dev Centerを確認してください。

このメソッドを使用して、scheduleTimerWithInterval:target:selector:repeats繰り返しなしに設定し、時間間隔を 30 秒に設定することをお勧めします。

于 2013-02-18T10:40:17.440 に答える
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;
    }
于 2013-02-18T10:40:32.103 に答える