我在UITableViewController中使用MBProgressHUD。虽然我能够成功显示HUD,但HUD会拦截所有屏幕的触摸通知,并阻止在我的UITableView中滚动。
我知道MBProgressHUD的预期功能可能是锁定界面(例如,在阻止操作期间),但我想知道如何将触摸事件转发到适当的位置,无论如何。
有什么想法吗?
答案 0 :(得分:20)
MBProgressHUD是UIView的子类,因此您必须禁用用户与它的交互。所以:
youMBProgressHUDPointer.userInteractionEnabled = NO;
答案 1 :(得分:4)
想出来。需要将以下代码添加到MBProgressHUD的代码中:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
// UIView will be "transparent" for touch events if we return NO
return (NO);
}
答案 2 :(得分:0)
检查我的回答here。 MBProgressHUD阻止应用程序级别的交互。你需要通过设置一些自定义逻辑来设计一种解决方法。