4

プログレスバーをインクリメントして、ラベルにパーセンテージを表示しようとしています。ただし、「incrementaProgres」関数が呼び出されても、どちらも変更されません。IBOutletsは適切にリンクされxibており、関数が呼び出されたときに変数が適切な値を持つこともテストされています。ありがとう

代理人から:

loadingViewController *theInstanceP = [[loadingViewController alloc] init];
[theInstanceP performSelectorOnMainThread:@selector(incrementaProgres:) withObject:[NSNumber numberWithFloat:0.15] waitUntilDone:YES];

loadViewクラス:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [spinner startAnimating];
    [progress setProgress:0.0];
}

- (void)incrementaProgres: (CGFloat)increment{

    [progress setProgress:(progresInc + increment)];
    carrega.text = [NSString stringWithFormat: @"%f", (progresInc + increment)];

}
4

2 に答える 2

4

進行状況バーの進行状況の値は と の間0.0にあり1.0ます。コードは の増分で設定しますが15.0、これは範囲外です。0.15あなたの増分は、ではなく、であるべき15.0です。

于 2012-04-12T10:27:27.607 に答える
2

進行状況は 0.0 から 1.0 の間の値です。

編集:あなたは電話をかけようとしました[myView setNeedsDisplay];か?

2回目の編集:

1 つの混乱があるかもしれません:viewDidLoadビューを表示する直前に呼び出されます。したがって、ここに示したコードでincrementaProgres:は、 before が呼び出されviewDidLoadます。

于 2012-04-12T10:27:17.123 に答える