UIViewController не обновляется соответствующим образом с SwiftUI View - PullRequest
0 голосов
/ 27 марта 2020

Я недавно начал изучать SwiftUI и пытался разработать приложение галереи, которое включает в себя возможность скользить по изображениям, как в стандартной галерее iPhone. Чтобы сделать это, я следовал инструкциям Apple по объединению SwiftUI и UIKit, как показано здесь: https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit, и он работает хорошо и плавно.

Затем я добавил функцию загрузки, чтобы позволить Пользователь загружает изображение с сервера на основе отображаемого изображения, а я сохраняет изображение в библиотеке с помощью Photos Framework. До этого момента все работало нормально.

Чтобы дать пользователю некоторую обратную связь при обработке загрузки, я добавил индикатор загрузки, основанный на найденном здесь коде: Индикатор активности в SwiftUI и Здесь проблема началась. Таким образом, в основном, когда я запускаю индикатор активности, изображение подземного слайд-шоу скользит само по себе, а затем снова скользит после скрытия индикатора. И после этого я нахожу себя только с этим изображением во всем слайд-шоу и должен перезагрузить приложение, чтобы снова увидеть весь слайд-шоу. Это представление SwiftUI, содержащее UIController:

var body: some View {
        LoadingView(isShowing:$loading){
            VStack(alignment: .center){
                PhotoViewerViewController(controllers: viewControllers, currentPage: $currentPage)                
            }
            .navigationBarItems(trailing:
                Button(action: {
                    if(!self.isPreview){
                        self.album.downloadPhoto(albumName: albumName, idFoto: self.idFoto)
                    }
                }){
                    Image(systemName: self.isPreview ? "info.circle" : "square.and.arrow.down.fill" )
                        .font(.system(size: 25))
            })
        }
            .onAppear{
                self.currentPage = self.foto.firstIndex(where: {$0.id_foto == self.idFoto})!
        }
    }    
}

Что я упустил при объединении swiftui и uikit?

...