1

我有一个名为 GetInfoViewController 的 ViewController。基本上它接受用户输入,然后将输入发送到 NSObject 类,ServerConnection。ServerConnection 发出 nsurlconnection 请求,完成后我希望 MBProgressHUD 隐藏。

获取信息视图控制器

    - (IBAction)go:(id)sender{

    ServerConnection *serverConnection = [[ServerConnection alloc]init];

    MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"Searching...";

// here the progressHUD shows normally, and the yelpConnectionMethod is successful in retrieving the result.

    [serverConnection yelpConnectionMethod];


}


-(void)endProgressHUD{
    NSLog(@"end called");


    [MBProgressHUD hideHUDForView:self.view animated:YES];
}

服务器连接.h

我不会把所有的 nsurlconnection 代码,因为我不认为它真的适用.. 但如果你想要它我可以发布它

唯一重要的行是:(在所有连接完成后调用。)

GetInfoViewController *getinfoVC = [[GetInfoViewController alloc]init];
[getinfoVC endProgressHUD];

我成功调用了 getInfoViewController 的 endProgressHUD 方法,因为它记录了“结束调用”。但是,进度显示保持在旋转并且不会隐藏。

任何输入都会有所帮助。

4

1 回答 1

2

在显示 HUD 时尝试此方法。

- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;

它是 MBProgressHUD 的一种方法 -selector应该是yelpConnectionMethod和目标serverConnection,对象 =nil和动画取决于你:)

于 2013-07-23T22:03:24.997 回答