1

現在、このコントロールを使用して HUD を表示するプロジェクトがあります。

https://github.com/samvermette/SVProgressHUD

UIView と ScrollView の複雑な階層の上に SVProgress HUD を表示します。

SVProgressHUD は UIAlertView に少し似ており、メッセージを表示しますが、自動的に閉じます。

私のアプリの一部では、ユーザーが UIScrollView のページをポップするたびに使用しています。

自動非表示機能は優れていますが、必要に応じて、ユーザーが hud をタップして早期に非表示にできるようにしたいと考えています。

だから私はSVProgressHUDが通知センターに通知を投稿することを知っています

SVProgressHUDDidReceiveTouchEventNotification

これは良いことです。私が行ったことは、メインのviewControllerに通知オブザーバーを追加して、SVProgressHUDのクラスメソッドを呼び出して、SVProgressHUDDidReceiveTouchEventNotification投稿されたときに提示されたHUDを却下することです。

私の問題 (および質問) は、この却下メソッドがスクロールビューに干渉しないようにするにはどうすればよいですか?

ユーザーがスクロールビューのコンテンツページをすばやくスワイプできるようにしたいのですが、この通知を聞き始めて以来、スクロールビューはユーザーの最初のタッチに反応せず、最初のタッチを使用して HUD を閉じます。これはかなりダサく感じます。

問題はSVProgressHUDDidReceiveTouchEventNotification、HUD が触れられていなくても投稿されており、代わりにその下の Scrollview が触れられていることです。SVProgressHUDDidReceiveTouchEventNotificationHUD 自体が触れられたために投稿されたことを確認するために、dismiss メソッド内にヒットテストを追加するにはどうすればよいですか?

ありがとう!

4

1 に答える 1