Почему QLPreviewController не работает в SwiftUI TabView? ⇐ IOS
-
Гость
Почему QLPreviewController не работает в SwiftUI TabView?
Я не могу найти способ заставить QuickLook(QLPreviewController) загрузить PDF-файл внутри SwiftUI TabView. Есть ли способ заставить это работать? Именно тогда я указываю Tabview как просмотр .page.
struct QuickLookView: Просмотр { @State Private var URL: URL = Bundle.main.url(forResource: «Sample-PDF», withExtension: «pdf»)! @State приватная вкладка var: Int = 0 var body: some View { Навигационный стек { TabView(выбор: $tab) { ForEach(0.. QLPreviewController { пусть контроллер = QLPreviewController() контроллер.dataSource = контекст.координатор контроллер возврата } функция обновленияUIViewController( _ uiViewController: QLPreviewController, контекст: Контекст) {} func makeCoordinator() -> Координатор { Координатор возврата (родитель: self) } Координатор класса: NSObject, QLPreviewControllerDataSource, UIGestureRecouncerDelegate { пусть родитель: PreviewController init (родитель: PreviewController) { self.parent = родительский } func numberOfPreviewItems (в контроллере: QLPreviewController) -> Int { вернуть 1 } func PreviewController (_ контроллер: QLPreviewController, индексviewItemAt: Int) -> QLPreviewItem { вернуть родительский.url как NSURL } } }
Я не могу найти способ заставить QuickLook(QLPreviewController) загрузить PDF-файл внутри SwiftUI TabView. Есть ли способ заставить это работать? Именно тогда я указываю Tabview как просмотр .page.
struct QuickLookView: Просмотр { @State Private var URL: URL = Bundle.main.url(forResource: «Sample-PDF», withExtension: «pdf»)! @State приватная вкладка var: Int = 0 var body: some View { Навигационный стек { TabView(выбор: $tab) { ForEach(0.. QLPreviewController { пусть контроллер = QLPreviewController() контроллер.dataSource = контекст.координатор контроллер возврата } функция обновленияUIViewController( _ uiViewController: QLPreviewController, контекст: Контекст) {} func makeCoordinator() -> Координатор { Координатор возврата (родитель: self) } Координатор класса: NSObject, QLPreviewControllerDataSource, UIGestureRecouncerDelegate { пусть родитель: PreviewController init (родитель: PreviewController) { self.parent = родительский } func numberOfPreviewItems (в контроллере: QLPreviewController) -> Int { вернуть 1 } func PreviewController (_ контроллер: QLPreviewController, индексviewItemAt: Int) -> QLPreviewItem { вернуть родительский.url как NSURL } } }
Мобильная версия