为什么将MBProgressHUD的隐藏设置为YES,但isHidden方法是否为NO?

时间:2013-01-23 08:30:46

标签: iphone ios objective-c uiview mbprogresshud

我正在使用MBProgressHUD视图来显示从Internet下载内容时的加载状态。下载完成后,我调用hide方法隐藏视图。我想通过检查视图的隐藏,即isHidden方法,使用计时器判断下载是否完成。但是当我将视图的隐藏设置为 YES 时,请检查isHidden方法,它返回。我不知道为什么这个视图会这样?

一些片段如下:

MBProgressHUD   *HUD; // instance variable

在下载完成的方法中:

[HUD hide:YES];
NSLog(@"HUD isHidden: %@",[HUD isHidden] ? @"YES" : @"NO");

调用方法时,输出为NO。

2 个答案:

答案 0 :(得分:5)

根据MBProgressHUD的实现,他们不会使用UIView的隐藏属性来隐藏它。他们只是将MBProgressHUD的alpha设置为0,以便它不可见。

答案 1 :(得分:4)

我发现了:

MBProgressHUD isHidden方法中默认设置,这样您就可以获得所有时间(当您检查时)NO 。你没有签到超级视图。

选中MBProgressHUD状态隐藏/显示

[HUD setHidden:YES];之后设置[HUD hide:YES];,然后才能正常工作。

NSLog(@"HUD isHidden: %@",[HUD isHidden] ? @"YES" : @"NO");
//Output in consol YES