HUD Spinner не отображается

Я использую MBPROGRESSHUD для реализации прядильщика и пользовательского представления для моего приложения. Фрагмент кода s (в моем классе загрузчика), как показано ниже:

- (void)postObjects:(NSDictionary*) params andImage:(NSData *)img
{
    .....

    //THIS IS THE PART WHICH CALLS THE HUD
    [self performSelector:@selector(showLoading) withObject:nil afterDelay:0];
    [objectLoader send];
}


- (void) showLoading
{
    //CODE TO TRIGGER HUD SPINNER WITH LABEL
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:viewToShowLoading animated:YES];
    NSString * postingMsg = @"Pinning Question";
    hud.labelText = postingMsg;
}

- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects 
{
    //THIS IS THE PART WHERE THE HUD IS HIDDEN
    [MBProgressHUD hideHUDForView:viewToShowLoading animated:YES];

    //THIS IS WHERE I WANT TO DISPLAY THE CUSTOM VIEW WITH THE TEXT "QUESTION PINNED"
    self.HUDText = @"Question Pinned";
    [self performSelector:@selector(showCompleteHUD) withObject:nil afterDelay:0];
}

- (void) showCompleteHUD
{
    //CODE TO TRIGGER CUSTOM VIEW DISPLAY
    HUD = [[MBProgressHUD alloc] initWithView:viewToShowLoading];
    [viewToShowLoading addSubview:HUD];
    [HUD showWhileExecuting:@selector(customHUDComplete) onTarget:self withObject:nil   animated:YES];

}

- (void)customHUDComplete
{
    HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
    HUD.mode = MBProgressHUDModeCustomView;
    HUD.labelText = self.HUDText;
    sleep(2);
}

Проблема с приведенным выше кодом заключается в том, что после первого отображения счетчика HUD последующее выполнение не привело к отображению счетчика HUD, а просто пропустило отображение пользовательского представления.

Это проблема синхронизации (асинхронная проблема)? Если это так, как я могу убедиться, что счетчик всегда отображается до появления пользовательского представления?

0 ответов

Другие вопросы по тегам