Search code examples
iphoneiosmbprogresshud

MBProgressHUB mixed View


- (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


Solution

  • 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];
    }