1

だから私は時限遅延アクションを持っているので、ボタンを押すと、設定された時間(5秒)の後にラベルが表示されます

-(IBAction)start{

Desc.text = @"Text appears";
[self performSelector:@selector(delay) withObject:nil afterDelay:5.0];

}

-(void)delay{

Desc2.text = @"Text to appear in 5 seconds";
[self performSelector:@selector(delayA) withObject:nil afterDelay:5.0];

}

私が作成しようとしている次のコード行については、スケジュールされた時間間隔の後にラベルが表示される代わりに、ボタンを 5 秒で表示しようとしています。

誰でも助けることができますか?

4

6 に答える 6

0
UIButton *btn = [UIButton alloc] initWithFrame:[Desc2 frame]];

[btn setTitle: [Desc2 text] forState:UIControlStateNormal];

[self.view addSubview:btn];

このスニペット コードはUIButton、Desc2 の場所を作成しUILabel、ボタンのタイトルを Desc2 の内容で設定します。

delayA メソッド内に配置できます。

于 2012-09-17T10:13:23.747 に答える
0
-(void)delayA{

UIButton *button = [[UIButton alloc] init];
button.frame = CGRectMake(x, y, width, height); //add the parameters
[self.view addSubview:button];
}

それが役に立てば幸い。幸せなコーディング:)

于 2012-09-17T10:13:47.447 に答える
0

ボタンの表示と非表示のみを行う場合は、alpha プロパティを使用します。

// show button
[self.yourButton setAlpha: 1]

// hide button
[self.yourButton setAlpha: 0];
于 2012-09-17T10:32:23.783 に答える
0

これを試して、

NSTimer *aTimer = [NSTimer timerWithTimeInterval:(5.0) target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
    NSRunLoop *runner = [NSRunLoop currentRunLoop];
    [runner addTimer:aTimer forMode: NSDefaultRunLoopMode];

実行したいアクションを設定します

-(void)timerFired:(NSTimer *) theTimer
{
}
于 2012-09-17T10:22:46.710 に答える
0

まず、UIButton を非表示にする必要があります。たとえば、ボタン名は btn1 で、次にviewDidLoad:メソッドで次のコードを記述します。

- (void)viewDidLoad
{

    btn1.hidden = YES;

}

-(IBAction)start{
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0
                                             target:self
                                           selector:@selector(targetMethod:)
                                           userInfo:nil
                                            repeats:YES];
}
-(IBAction)targetMethod:(id)sender{
       btn1.hidden = NO;
}

このコードを使用するには、xib のボタンをドラッグ アンド ドロップし、名前を btn1 にするか、必要に応じて...

この回答がお役に立てば幸いです..

:)

于 2012-09-17T10:53:19.033 に答える
0

以下を使用できます。

[NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]
于 2012-09-17T10:20:04.307 に答える