2011-07-29 4 views
0

これが可能か、または推奨されているかわかりませんが、ユーザーの年齢、身長、体重に基づいて計算を実行するiPhoneアプリケーションがあります。計算ボタンをタップすると、計算結果が即座に出力され、計算が実行され、UILabelに瞬時にデータが入力されます。iOSで計算を遅くします。

これを遅らせて、ビューアラートの「計算」を行い、ラベルに値を設定することは可能ですか?

+3

それは長い時間がかかりました。 – duffymo

+0

それは苦情ではなく、より多くの想像力を放浪しています。私は個人的に画面上のプロンプトの外観と経験が好きです。可能であればちょっと疑問に思った。 –

+0

5秒間プログレスバーを見るとすぐに答えが出るのはなぜですか? 「Beeのような簡単な計算をすることさえできない!」という人もいるかもしれません。 – duffymo

答えて

2

簡単なNSTimerを作成して、起動してUIActivityIndi​​catorView(たとえば)を使用して、ビュー内で進行状況を表示(またはUIAlertView内に配置)することができます。タイマーが完了し、計算されたラベルが表示されます。

・ホープ、このことができます:)

-

編集を。サンプルコード

spinnerAlertView = [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"My App Name", @"") message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil] autorelease]; // member 
spinner = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(125, 50, 30, 30)]; // member 
spinner.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge; 
[spinnerAlertView addSubview: spinner]; 
[spinner startAnimating]; 
[spinnerAlertView show]; 

は計算が完了すると、次に、これを行うことを忘れないでくださいコメントを追加しました:

[spinnerAlertView dismissWithClickedButtonIndex:0 animated:TRUE]; 

あなたがアニメーションを停止し、メインビューからそれを隠すためにそれを言うことができるが、この方法では、我々は単に削除しますそれはユーザーがそれを却下したかのように...はるかに簡単です。あなたのボタンをクリックすると

+0

ありがとうございます。悪いことにそれを見てください –

+0

あなたと遊ぶためのコードサンプルを追加しました:) – Luke

2

、あなたのロード警告を表示し、この操作を行います。私は誰かのコードがあまりにもパフォーマンスのことについて文句を聞いたので、

[self performSelector:@selector(calculate) withObject:nil afterDelay:1]; 

- (void)calculate { 
//do your calulation and update the result label 
} 
+0

それは必要な効果を持っているようです –

関連する問題