在here中表示使用MBProgressHUD很容易。 但我做不到。无法显示MBProgressHUD
这里我的代码:
- (IBAction)save{
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
[HUD show:YES];
NSString *title = [page stringByEvaluatingJavaScriptFromString:@"document.title"];
SavePageAs *savePage = [[SavePageAs alloc] initWithUrl:self.site directory:title];
[savePage save];
[HUD hide:YES];
}
进度指示器期间savePage save
方法运行没有显示,但是显示了在页面完全保存(指示器示出了用于小于1秒)。
我也试过这样:
- (IBAction)save {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Saving...";
[HUD showWhileExecuting:@selector(performFetchOnMainThread) onTarget:self withObject:nil animated:YES];
}
- (void) savingPage{
NSString *title = [page stringByEvaluatingJavaScriptFromString:@"document.title"];
SavePageAs *savePage = [[SavePageAs alloc] initWithUrl:self.site directory:title];
[savePage save];
}
-(void) performFetchOnMainThread {
[self performSelectorOnMainThread:@selector(savingPage) withObject:nil waitUntilDone:YES];
}
但仍没有运气。任何人都知道我在这里缺乏什么?
P.S:savePage save
将所有网站内容保存到本地目录。我希望一旦保存完成,进度HUD消失。
感谢
为什么使用'self.navigationController.view'来分配和初始化'HUD'?您需要使用viewController的视图对其进行初始化,您需要将其显示出来。 – 2012-04-01 17:31:04
即使我用self.view的结果仍然相同 – dejoong 2012-04-01 18:33:23