问题
- (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];
}
I'm trying to change an MBPrograssHub after a positive answer from AsiHTTPRequest. But the view remains the same. Do you know why ?
Thanks
回答1:
Because the sleep(10)
isn't allowing the UIThread to update the 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];
}
来源:https://stackoverflow.com/questions/7308922/mbprogresshub-mixed-view