現在、このコントロールを使用して HUD を表示するプロジェクトがあります。
https://github.com/samvermette/SVProgressHUD
UIView と ScrollView の複雑な階層の上に SVProgress HUD を表示します。
SVProgressHUD は UIAlertView に少し似ており、メッセージを表示しますが、自動的に閉じます。
私のアプリの一部では、ユーザーが UIScrollView のページをポップするたびに使用しています。
自動非表示機能は優れていますが、必要に応じて、ユーザーが hud をタップして早期に非表示にできるようにしたいと考えています。
だから私はSVProgressHUDが通知センターに通知を投稿することを知っています
SVProgressHUDDidReceiveTouchEventNotification
これは良いことです。私が行ったことは、メインのviewControllerに通知オブザーバーを追加して、SVProgressHUDのクラスメソッドを呼び出して、SVProgressHUDDidReceiveTouchEventNotification
投稿されたときに提示されたHUDを却下することです。
私の問題 (および質問) は、この却下メソッドがスクロールビューに干渉しないようにするにはどうすればよいですか?
ユーザーがスクロールビューのコンテンツページをすばやくスワイプできるようにしたいのですが、この通知を聞き始めて以来、スクロールビューはユーザーの最初のタッチに反応せず、最初のタッチを使用して HUD を閉じます。これはかなりダサく感じます。
問題はSVProgressHUDDidReceiveTouchEventNotification
、HUD が触れられていなくても投稿されており、代わりにその下の Scrollview が触れられていることです。SVProgressHUDDidReceiveTouchEventNotification
HUD 自体が触れられたために投稿されたことを確認するために、dismiss メソッド内にヒットテストを追加するにはどうすればよいですか?
ありがとう!