1

我在 uitableview 中显示了歌曲标题列表以及“购买”按钮。当点击该按钮时,我正在显示 MBProgressHUD。但有时它没有被显示。它也禁用了用户交互,因为它在下面的代码中。

但为什么有时它不显示 MBProgressHUD?

请告诉我,非常感谢。

下面是代码

-(void) buySong:(UIButton *)button
    {
      self.view.userInteractionEnabled = NO;

      self.navigationController.navigationBar.userInteractionEnabled = NO;

      MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
      hud.labelText = @"Proessing...";
      hud.yOffset = -80;

      UITableViewCell *cell = (UITableViewCell *)[[button superview] superview];
      NSIndexPath *indexPath = [[self tblViewChildrenPoems] indexPathForCell:cell];

      PSSongTags *songTags = [self.songsArray objectAtIndex:indexPath.row];
      [ [PurchaseViewController sharedPurchaseManager] startPurchase:songTags];

    }
4

1 回答 1

2

试试这个代码可能对你有帮助......

在您的 .h 文件中导入 .

 #import "MBProgressHUD.h"

设置委托。

MBProgressHUDDelegate

MBProgressHUD *HUD;

在您的 .m 文件中//将此代码添加到您要显示的位置...

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
    [self.navigationController.view addSubview:HUD];
    HUD.delegate = self;
    HUD.labelText = @"Authorizing...";
    [HUD show:YES];

当您的流程最终用于隐藏时..

[HUD Hide:YES];

并在你的 m 文件中设置隐藏委托..

- (void)hudWasHidden:(MBProgressHUD *)hud {
    // Remove HUD from screen when the HUD was hidded
    [HUD removeFromSuperview];
    [HUD release];
    HUD = nil;
}

快乐的编码...

于 2012-09-03T04:45:37.810 回答