Получаете ли вы доступ к атрибутам и методам UIView при использовании UIViewControllerRepresentable?
У меня есть UIViewController
здесь, который используетUIView
(CalendarView).
Я пытаюсь создать оболочку для ViewController
с помощью UIViewControllerRepresentable
. Вот код, который пытается это сделать:
struct CalendarController: UIViewControllerRepresentable{
func makeUIViewController(context: Context) -> UIViewController {
let calController: ViewController! = .init()
return calController
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
//CalController.selectDate(self.date)
}
typealias UIViewControllerType = UIViewController
class Coordinator {
}
func makeCoordinator() -> Coordinator {
Coordinator()
}
}
Полный файл связан снова здесь.
Вопросы:
Поскольку я использую структуру KDCalendar, и все функции написаны на UIView
объект - и учитывая, что они пример проекта в этом репозитории реализует UIView с ViewController
, если я смогу использовать все функции CalendarView
Объект UIView через этот UIViewControllerRepresentable
? Если да, то чего не хватает в моей реализации для правильного использованияViewController
в SwiftUI.
Пока что это не так: однако, когда я пытаюсь реализовать CalendarView
Просмотр напрямую с UIViewRepresentable
wrapper, похоже, у меня нет доступа к вещам, которым, похоже, нужны возможности ViewController (пример: отображение оконного предупреждения).
Посмотреть мою полную попытку реализации можно здесь
1 ответ
Я полагаю, вы бы лучше сделать ставку, глядя на это, который UIViewRepresentable и не UIViewControllerRepresentable
Первое решение - это способ реализовать ваше представление в оболочке, предположительно так, как вы пытаетесь сами. Последний - создать экземпляры UIViewController и добавить их в интерфейс SwiftUI, который может взаимодействовать с обоими.
Я изо всех сил пытаюсь понять, что именно запрашивается, но я надеюсь, что это поможет! Если не дайте мне знать, буду любезно продолжать помогать в этом разобраться! - Счастливое кодирование