8

我在 UITableViewController 中使用 MBProgressHUD。虽然我能够让 HUD 成功显示,但 HUD 会拦截屏幕的所有触摸通知并阻止在我的 UITableView 中滚动。

我知道 MBProgressHUD 的预期功能可能是锁定界面(例如,在阻塞操作期间),但我想知道如何将触摸事件转发到适当的位置。

有任何想法吗?

4

3 回答 3

20

MBProgressHUD 是 UIView 的子类,因此您必须禁用与它的用户交互。所以:

youMBProgressHUDPointer.userInteractionEnabled=NO;

于 2012-08-14T13:37:21.517 回答
4

弄清楚了。MBProgressHUD的代码中需要添加以下代码:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
// UIView will be "transparent" for touch events if we return NO
return (NO);
}
于 2012-05-25T01:12:58.063 回答
0

在这里检查我的答案。MBProgressHUD 在应用程序级别阻止交互。您需要设计一种方法来通过放置一些自定义逻辑来解决这个问题。

于 2012-10-18T05:59:11.163 回答