1

我目前有一个项目,我使用此控件呈现 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 本身被触摸而发布的内容?

谢谢!

4

1 回答 1

1

touchesEndedSVProgressHUD中实现并在那里处理触摸。

于 2013-08-04T21:34:50.833 回答