Iphone MBProgressHUB混合视图
在AsiHTTPRequest给出肯定回答后,我正在尝试更改MBPrograssHub。但观点仍然是一样的。你知道为什么吗 谢谢,因为Iphone MBProgressHUB混合视图,iphone,ios,mbprogresshud,Iphone,Ios,Mbprogresshud,在AsiHTTPRequest给出肯定回答后,我正在尝试更改MBPrograssHub。但观点仍然是一样的。你知道为什么吗 谢谢,因为睡眠(10)不允许UIThread更新HUD - (void) didClickDone{ if (isValide ==0) { (...) [newFormDataRequest setDelegate:self]; [newFormDataRequest startAsynchronous];
睡眠(10)
不允许UIThread更新HUD
- (void) didClickDone{
if (isValide ==0) {
(...)
[newFormDataRequest setDelegate:self];
[newFormDataRequest startAsynchronous];
(...)
//show the label
[self showWithLabel];
}
}
# pragma mark - AsiHTTPRequest delegate methods
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"PostAdRequest = %@", [request responseString]);
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
HUD.mode = MBProgressHUDModeCustomView;
HUD.labelText = @"Completed";
sleep(10);
[self hudWasHidden];
[self dismissModalViewControllerAnimated:YES];
}
噢令人惊叹的!非常感谢,我甚至不知道为什么在这里使用sleep():您永远不应该暂停主线程,并且在大多数操作的次线程上使用它的原因也不多-Objective-C有
sleep()的包装器
如果您确实需要它,他可能希望对话框在一段时间内可见,告诉用户它已经完成了请求。
- (void)requestFinished:(ASIHTTPRequest *)request {
NSLog(@"PostAdRequest = %@", [request responseString]);
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
HUD.mode = MBProgressHUDModeCustomView;
HUD.labelText = @"Completed";
[self performSelector:@selector(removeHUD) withObject:nil afterDelay:10.0f];
}
- (void) removeHUD {
[self hudWasHidden];
[self dismissModalViewControllerAnimated:YES];
}