* translation expo module * add `onClose` and `onReplacementAction` * rm onReplacementAction * make all props published * make translation api available globally w/o wrapper (#4110) * conditionally import the translation module * only use native translation if language is probably supported * open native translation via dropdown menu --------- Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
20 lines
874 B
Swift
20 lines
874 B
Swift
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),
|
|
])
|
|
}
|
|
}
|