0
- (void) didClickDone{
    if (isValide ==0) {
        (...)
        [newFormDataRequest setDelegate:self];
        [newFormDataRequest startAsynchronous];
        (...)
        //show the label
        [self showWithLabel];
    }
}




# pragma mark - AsiHTTPRequest delegate methods
- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSLog(@"PostAdRequest = %@", [request  responseString]);
    HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
    HUD.mode = MBProgressHUDModeCustomView;
    HUD.labelText = @"Completed";
    sleep(10);
    [self hudWasHidden];
    [self dismissModalViewControllerAnimated:YES];
}

在得到 AsiHTTPRequest 的肯定回答后,我正在尝试更改 MBPrograssHub。但观点保持不变。你知道为什么吗 ?

谢谢

4

1 回答 1

2

因为sleep(10)不允许 UIThread 更新 HUD。

- (void)requestFinished:(ASIHTTPRequest *)request {
    NSLog(@"PostAdRequest = %@", [request  responseString]);
    HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
    HUD.mode = MBProgressHUDModeCustomView;
    HUD.labelText = @"Completed";

    [self performSelector:@selector(removeHUD) withObject:nil afterDelay:10.0f];
}

- (void) removeHUD {
   [self hudWasHidden];
    [self dismissModalViewControllerAnimated:YES];
}
于 2011-09-05T13:42:55.023 回答