1

我不想使用 MBProgressHUD,因为线程和管理后台请求的开销。我不需要后台任务处理程序。一个简单的、处理视图/窗口的线程安全库就可以完成这项工作。同样,如果没有从不同的视图控制器创建实例并添加/删除它,我认为它对消费者来说工作量太大。我应该可以从代码中的任何地方调用它。像这样的东西:
[SimpleHud getInstance] pop];
[SimpleHud getInstance] pop withTitle:@"Doing stuff"];
[SimpleHud getInstanca] hide];

4

2 回答 2

1

我喜欢 David Sinclair 的DSActivityView。它比 MBProgressHUD 轻,但不是轻量级的。值得一看。

于 2010-12-21T20:58:07.037 回答
0

这就是我想出的:

   -(void)pop:(NSString *)text {
        [self performSelectorOnMainThread:@selector(popLightBox:) withObject:text waitUntilDone:YES];
    }

    -(void)hide {
        [self performSelectorOnMainThread:@selector(hideLightBox) withObject:nil waitUntilDone:YES];
    }

    -(void)popLightBox:(NSString *)text
    {
        NSArray *windows =  [[UIApplication sharedApplication] windows];    
        NSInteger last = [windows count]-1;
        if (last < 0) return;
        UIWindow *currentWindow = [windows objectAtIndex:last];
        [currentWindow addSubview:self.view];
        if (text == nil) {
            self.loadingLabel.text = __DEFAULT_LOADING_TEXT__;      
        }else {
            self.loadingLabel.text = text;
        }
    }

    -(void)hideLightBox
    {
        [self.view removeFromSuperview];
    }

类是一个简单的 UIViewController。

于 2010-12-21T20:37:14.607 回答