0

メソッドに完了コールバックを追加して、HUD の進行状況が完了したことを認識できるようにしたいと考えています。

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDModeAnnularDeterminate;
hud.labelText = @"Loading";
[self doSomethingInBackgroundWithProgressCallback:^(float progress) {
hud.progress = progress;
} completionCallback:^{
[MBProgressHUD hideHUDForView:self.view animated:YES];
}];

メソッドが完了したことを確認するためにメソッドに何を追加する必要がありますか、または上からこの completionCallback をトリガーしますか?

この場合、私のメソッドは次のようになります。

-(void)doSomethignInBackgroundWithProgressCallback {
sleep(100);
}    
4

1 に答える 1

3

このように使用するとHUD、そのdelegate機能hudWasHiddenを使用できますHUD-

[HUD showWhileExecuting:@selector(your_function) onTarget:self withObject:nil animated:YES];

での使用方法を知りたい場合は、この投稿callbacksobjective c従ってください-

http://stackoverflow.com/questions/1015608/how-to-perform-callbacks-in-objective-c

完了コールバック メソッド -

- (void) doSomethingInBackground:(void (^) (void)) completion
{
    // do your job here

    completion();
}
于 2012-08-30T13:40:59.697 に答える