我目前有一个项目,我使用此控件呈现 HUD:
https://github.com/samvermette/SVProgressHUD
我在 UIViews 和 ScrollViews 的复杂层次结构上展示了 SVProgress HUD。
SVProgressHUD 有点像 UIAlertView,它会显示一条消息,但它会自动关闭自己。
在我的应用程序的一部分中,每次用户在我的 UIScrollView 中弹出一个页面时,我都会使用它。
自动关闭功能很好,但我希望用户能够在需要时点击 hud 并尽早关闭它。
所以我知道 SVProgressHUD 向通知中心发布通知
SVProgressHUDDidReceiveTouchEventNotification
这很好,我所做的是在我的主视图控制器中添加一个通知观察者,它在 SVProgressHUD 上调用一个类方法,以在SVProgressHUDDidReceiveTouchEventNotification
发布时关闭任何呈现的 HUD。
我的问题(和问题是)如何确保这种解除方法不会干扰我的滚动视图?
我希望我的用户能够快速浏览滚动视图内容页面,但是由于我开始收听此通知,滚动视图不会对用户的第一次触摸做出反应,它使用第一次触摸来关闭 HUD。这感觉很笨拙。
SVProgressHUDDidReceiveTouchEventNotification
即使没有触摸 HUD 而是触摸了我下面的 Scrollview,问题也会被发布。如何在我的解除方法中添加一个命中测试以检查SVProgressHUDDidReceiveTouchEventNotification
由于 HUD 本身被触摸而发布的内容?
谢谢!