Пользовательское представление MBProgressHUD не отображается

Я пытаюсь показать изображение на MBProgressHUD с помощью этого кода

MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark"]] autorelease];
HUD.mode = MBProgressHUDModeCustomView;
HUD.labelText = @"تم إرسال وزنك بنجاح";

[HUD show:YES];
[HUD hide:YES afterDelay:1.5];

но это то, что я получаю

в чем проблема?

4 ответа

Решение

Я попробовал ваш код, и он работает для меня.

В файле MBProgressHud.h в комментариях упоминается, что

/**
 * The UIView (i.g., a UIIMageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
 * For best results use a 37 by 37 pixel view (so the bounds match the build in indicator bounds). 
 */

Так что возможно изображение, которое вы использовали, отсутствует или не включено. Пожалуйста, проверьте это.

Это потому, что у вас нет изображения с именем "37x-Checkmark" в вашем проекте. Просто добавьте файл изображения 37x-Checkmark.png в ваш проект.

Вы должны включить изображения из этой ссылки в свой проект xcode, кажется, вы этого не сделали.

Now it is changed with IOS &

-(IBAction)save:(id)sender
{
        HUD = [[MBProgressHUD alloc] initWithWindow:[[UIApplication sharedApplication] keyWindow]];
        [[[UIApplication sharedApplication] keyWindow] addSubview:HUD];

        HUD.delegate = self;
        HUD.labelText = @"Initiating Entropy...";
        HUD.minSize = CGSizeMake(135.f, 135.f);
        [HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
}

-(void)myTask
{
    sleep(6);
    UIView *v = [[UIView alloc] init];
    UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"check_mark_green"]];
    [v setFrame:CGRectMake(0, 0, img.frame.size.width, img.frame.size.height)];
    v.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"37x-Checkmark"]];

    HUD.mode = MBProgressHUDModeCustomView;
    HUD.customView = v;
    HUD.labelText = nil;
    HUD.detailsLabelText = @"Geo-Location Cordinates Secured";
 }

попробуйте это и наслаждайтесь кодом.

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