2011-12-15 10 views
1

アクティビティインジケータを初期化し、ボタンを押すアクションでアニメーションを開始し、表示する次のビューを呼び出します。アクティビティインジケータがアニメーションを直ちに開始しない

-(IBAction) downloadButtonPressed:(id)sender { 

    NSLog(@"Download Button Pressed"); 
    indicator.hidden = NO; 
    [indicator startAnimating]; 

    if (addviewcontroller == nil) 
     addviewcontroller = [[AddViewController alloc]init]; 
    [self.view addSubview:addviewcontroller.view]; 

    [addviewcontroller setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
    [self presentModalViewController:addviewcontroller animated:YES]; 

} 

ボタンを押すと、アクティビティインジケータがすぐに開始されません。他のビューが呼び出されると開始します。インジケーターが1秒間表示されますが、ボタンを押すともう一方のビューをロードするまでに時間がかかります。

インジケーターがなぜ始動せずに1秒間表示されるのかわかりません。

+1

なぜaddviewcontrollerを2回追加しますか?他のメソッドでaddviewcontrollerを作成しようとする可能性があります。アクション内に(downloadButtonPressed)シンプルなインジケータが表示されます。セレクタをいくつかの遅延を実行することができます( 'performSelector:withObject:afterDelay:')。セレクタの内部では、アクティビティインジケータを非表示にしてaddviewcontrollerを作成できます。 –

+0

@Flex_あなたとニコが言ったようにそれが追加されました。ありがとうございました.... – Bala

答えて

7

これを試してみてください:

はトリック;-)私はちょうどあなたのコードに問題があることに気づいた

EDITを行う必要があります

-(IBAction) downloadButtonPressed:(id)sender { NSLog(@"Download Button Pressed"); indicator.hidden = NO; [indicator startAnimating]; [self performSelector:@selector(showController) withObject:nil afterDelay:0.1f]; } - (void)showController { if (addviewcontroller == nil) addviewcontroller = [[AddViewController alloc]init]; [self.view addSubview:addviewcontroller.view]; [addviewcontroller setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:addviewcontroller animated:YES]; } 

、あなたのaddviewcontrollerを追加します二度。 1つは実際のView Controllerのサブビューとして追加し、もう1つは別のView Controllerをモーダルに表示して追加します。この関数から文の1つを削除する必要があります。

+0

なぜafterDelay:0.00001f? – SEG

+0

いずれかの作業が必要です。重要なことは、関数downlaodButtonPressedの最後でインジケータがアニメーション化されることです。したがって、あなたはpresentModalViewControllerの開始を遅らせる必要があります。 – Niko

+0

おかげでniko、私は言ったように[リンク] http://stackoverflow.com/questions/7710174/activity-indicator-on-button-clickの質問からの答えを得た。もう一度Nikoに感謝します。 – Bala

関連する問題