0

私はこれを自分で理解しようとしましたが、それをどのように達成するかについては完全に無知です。基本的に私がやろうとしていることはこれです:

全体的な目標:UIProgressViewそれが意図されているものとは「異なるタイプ」のインジケーターとしてを使用します。
詳細:ユーザーが「目標」を完了したとき(別の「complete」という名前のUIButtonを押して、UIViewControllerこれを「View Controller1」と呼びましょう)UIProgressViewを1秒で更新しUIViewControllerます(これを呼び出します) 1つの「ViewController2」)。View Controller 2にはいくつかありUIProgressViews、それぞれがカテゴリ「完了」の目標の数を表します。だから私はこのように2でvoidメソッドを持ちたいですView Controller

 (void)progressMade:(NSString *)category
{
   categoryOneProgressView.progress += 1/8 ;
   //this would be called from View Controller 1, after the "complete" button was pressed.
}

ここに画像の説明を入力してください

よろしくお願いします。

4

1 に答える 1

0

VIEW CONTROLLER 1のボタンをタッチすると、特定のカテゴリで完了した目標の値を保存できます。View Controller 1のサンプルコード:

-(void)methodTriggeredOnCompleted:(NSString *)category
{
    //Do you calculation for progress of a category 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setValue:saveProgressValue forKey:category];
    [defaults synchronize];
}

View Controller 2では、ViewDidLoadメソッドまたはViewWillAppearメソッドで、NSUserDefaultsに保存した値を取得し、進行中のバーの値を更新する必要があります。

-(void)viewDidLoad
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    int val = [defaults valueForKey:category];
    categoryOneProgressBar.progress = val;
}
于 2012-09-10T15:57:31.840 に答える