Files
comaps/iphone/Maps/Bridging/SafariView.swift
Yannik Bloscheck 15c7e71866 [ios] Switched OSM profile to SwiftUI and redesigned it
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-06 13:30:59 +02:00

42 lines
1.4 KiB
Swift

import SwiftUI
import SafariServices
/// View for Safari via a Safari view controller
struct SafariView: UIViewControllerRepresentable {
// MARK: Properties
/// The url
let url: URL
/// The type of dismiss button
var dismissButton: SFSafariViewController.DismissButtonStyle = .done
// MARK: Methods
/// Create a Safari view controller
/// - Parameter context: The context
/// - Returns: The Safari view controller
func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
let safariViewControllerConfiguration = SFSafariViewController.Configuration()
safariViewControllerConfiguration.activityButton = nil
safariViewControllerConfiguration.barCollapsingEnabled = true
let safariViewController = SFSafariViewController(url: url, configuration: safariViewControllerConfiguration)
safariViewController.preferredBarTintColor = UIColor.accent
safariViewController.preferredControlTintColor = UIColor.white
safariViewController.dismissButtonStyle = dismissButton
return safariViewController
}
/// Update the Safari view controller
/// - Parameter context: The context
func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {
// Do nothing
}
}