0

我已将 Apple 的 Reachability.h 实施到我的演示应用程序中。问题是我注意到我的应用程序在检查连接时停止了。

所以,我添加了一个活动指示器(来自MBProgressHUD)。但指标没有动画。它也与应用程序一起停止。

所以,我想把活动指示器放在与主线程不同的另一个线程中,但它仍然没有动画。

注意:我不是很有经验

更新:另外,我尝试了本地活动指示器,但没有运气。

- (void)anotherThread
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 


    HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
    [self.navigationController.view addSubview:HUD];

    // Set determinate mode
    HUD.mode = MBProgressHUDModeDeterminate;

    HUD.delegate = self;
    HUD.labelText = @"loading";

    // myProgressTask uses the HUD instance to update progress
    [HUD showWhileExecuting:@selector(crazyCounter) onTarget:self withObject:nil animated:YES];

    [pool release];  
}
4

1 回答 1

1

UI 代码应该保存在主线程中。因此,您可能希望使用 GCD(大型中央调度)将检查连接代码放入另一个线程,而不是将活动指示器放入另一个线程。完成后,您可以删除或隐藏活动指示器。

PS。我不太确定是什么MBProgressHUD,但你确实想确保你有类似[activityIndicator startAnimating]. 至少对于正常的活动指示器,您需要手动将其打开。

于 2012-08-03T22:19:29.727 回答