ChatApp.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // ChatApp.swift
  3. // Shared
  4. //
  5. // Created by Sergey Tarasov on 24.07.2022.
  6. //
  7. import SwiftUI
  8. import XMPPFramework
  9. struct ChatApp: App {
  10. @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
  11. var body: some Scene {
  12. WindowGroup {
  13. ContentView()
  14. .onAppear(perform: UIApplication.shared.addTapGestureRecognizer)
  15. }
  16. }
  17. }
  18. extension UIApplication {
  19. func addTapGestureRecognizer() {
  20. let scenes = UIApplication.shared.connectedScenes
  21. let windowScene = scenes.first as? UIWindowScene
  22. guard let window = windowScene?.windows.first else { return }
  23. let tapGesture = UITapGestureRecognizer(target: window, action: #selector(UIView.endEditing))
  24. tapGesture.requiresExclusiveTouchType = false
  25. tapGesture.cancelsTouchesInView = false
  26. tapGesture.delegate = self
  27. window.addGestureRecognizer(tapGesture)
  28. }
  29. }
  30. extension UIApplication: UIGestureRecognizerDelegate {
  31. public func gestureRecognizer(
  32. _ gestureRecognizer: UIGestureRecognizer,
  33. shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer
  34. ) -> Bool {
  35. return false
  36. }
  37. }