about summary refs log tree commit diff
path: root/modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift
diff options
context:
space:
mode:
Diffstat (limited to 'modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift')
-rw-r--r--modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift20
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift b/modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift
new file mode 100644
index 000000000..c8ca3e027
--- /dev/null
+++ b/modules/expo-bluesky-translate/ios/Common/UIHostingControllerCompat.swift
@@ -0,0 +1,20 @@
+import ExpoModulesCore
+import SwiftUI
+
+// Thanks to Andrew Levy for this code snippet
+// https://github.com/andrew-levy/swiftui-react-native/blob/d3fbb2abf07601ff0d4b83055e7717bb980910d6/ios/Common/ExpoView%2BUIHostingController.swift
+
+extension ExpoView {
+  func setupHostingController(_ hostingController: UIHostingController<some View>) {
+    hostingController.view.translatesAutoresizingMaskIntoConstraints = false
+    hostingController.view.backgroundColor = .clear
+
+    addSubview(hostingController.view)
+    NSLayoutConstraint.activate([
+      hostingController.view.topAnchor.constraint(equalTo: self.topAnchor),
+      hostingController.view.bottomAnchor.constraint(equalTo: self.bottomAnchor),
+      hostingController.view.leftAnchor.constraint(equalTo: self.leftAnchor),
+      hostingController.view.rightAnchor.constraint(equalTo: self.rightAnchor),
+    ])
+  }
+}