MBProgressHUD调整大小适用于版本0.4,在版本0.5中失败

时间:2013-06-22 19:02:20

标签: iphone ios mbprogresshud

我在从远程Web服务请求数据时,在导航栏中带有后退按钮的表上呈现MBProgressHUD。

默认情况下,HUD覆盖整个窗口,防止点击到达底层UI元素。我想更改此设置,以便导航栏可以接收水龙头,因此点击后退按钮可以取消请求并关闭HUD。

在MBProgressHUD 0.4中我通过改变'initWithView:'方法来做到这一点:

#if 1
    // SPC 2012-02-25 don't cover navigation bar (so user can cancel)
    CGRect _bounds = view.bounds;
    _bounds.origin.y += 64.0;
    _bounds.size.height -= 64.0;
    id me = [self initWithFrame:_bounds];
#else
    id me = [self initWithFrame:view.bounds];
#endif

这可以按预期工作。

我在MBProgressHUD 0.5中进行了相同的更改:

#if 1
    // SPC 2013-03-15 don't cover navigation bar (so user can cancel)
    CGRect _bounds = view.bounds;
    _bounds.origin.y    += 64.0;
    _bounds.size.height -= 64.0;
    return [self initWithFrame:_bounds];
#else
    return [self initWithFrame:view.bounds];
#endif

但是HUD仍然覆盖了整个窗口。

我已经逐步完成了两个版本的代码,并且在修改后的代码之后所做的就是调用'addSubview:'将新创建的HUD添加到其父视图中。

关于为什么它在0.5中失败的任何想法,以及我可以做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

只需将hud userInteractionEnabled设置为NO,hud会将触摸事件传递给其基础视图。