Como usar um manipulador de conclusão para colocar uma imagem em uma visualização SwiftUI

Eli Front

Eu tentei isso, mas não sabia como usar os resultados em um SwiftUI View:

func getProfilePicture(_ completion: @escaping ((UIImage) -> Void)) {

    Alamofire.request(GIDSignIn.sharedInstance()?.currentUser.profile.imageURL(withDimension: 75) ?? "https://httpbin.org/image/png").responseImage { response in

        if let image = response.result.value {
            completion(image)

        }
    }
}

Se você puder ajudar, gostaria de colocar a imagem retornada do manipulador de conclusão nesta visualização:

struct ProfileView: View {
let profileInfo = ProfileInfo()
var placeHolderImage = Image(systemName: "person")

var body: some View {
    Group {
            placeHolderImage
                .clipShape(Circle())
                .overlay(
                    Circle().stroke(Color.white, lineWidth: 4))
                .shadow(radius: 10)
                .padding(10)
    }

}

}

Gostaria que isso retornasse um UIImage para que eu pudesse, eventualmente, usá-lo em uma visualização SwiftUI. Já tentei usar um método com um manipulador de conclusão @escaping, mas não consegui descobrir como usá-lo para corrigir o problema. Obrigado!

39fredy

Você pode tentar algo, deixe isto:

struct ProfileView: View {
    @State var placeHolderImage = Image(systemName: "person")


    var body: some View {
        Group {
            placeHolderImage
                .clipShape(Circle())
                .overlay(
                    Circle().stroke(Color.white, lineWidth: 4))
                .shadow(radius: 10)
                .padding(10)
        }.onAppear{
            getProfilePicture{ image in
                self.placeHolderImage = Image(uiImage: image)
            }
        }

    }

}

Quando ProfileViewaparecer ele vai ligar getProfilePicture. O imageespecificado em image in(ao chamar a função) é o que o manipulador de conclusão passa ( completion(image)). O que você pode fazer é mudar o placeHolderImageque você entra getProfilePicture, mas antes de fazer isso, você precisa transformar o seu uiImageem um Image. Além disso, certifique-se de adicionar a @Statepalavra-chave à sua variável para que, assim que mudar, seu Viewseja atualizado.

Espero que ajude!

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

No Swift, como faço para usar um manipulador de conclusão em uma função que já está usando um?

Como colocar um botão em uma coordenada específica em uma visualização de imagem

Como faço para colocar uma imagem como plano de fundo em um app react?

Como faço para centralizar uma visualização de imagem em formato pdf com o SwiftUI?

Como usar um loop for para exibir uma imagem dependendo de uma posição em um índice?

Existe uma maneira de usar um manipulador de conclusão passado como um argumento para detectar quando uma solicitação longa é concluída

Como decodificar json em um codificável para usar em uma visualização SwiftUI?

Como colocar uma imagem no centro de uma visualização?

Como faço para converter um documento PDF em uma imagem de visualização em PHP?

Como carregar um url de imagem para uma visualização de imagem em que o design da visualização de imagem declarado dentro de um segmento?

Como carregar um url de imagem para uma visualização de imagem em que o design da visualização de imagem declarado dentro de um segmento?

Como colocar um link dentro de uma tabela HTML, quando clicado em navegar para uma visualização (ID)

Como faço para colocar uma borda em torno de uma visualização de texto Android?

Como usar a câmera de um fragmento e exibir a imagem capturada em uma visualização de imagem no mesmo fragmento?

Como usar um manipulador para fazer um loop de uma instrução if a cada 20 segundos

Como colocar um botão no centro de uma imagem

Como volto de uma visualização filho para uma visualização pai tocando em um elemento de linha em uma lista no SwiftUI?

Como obter dinamicamente uma visualização de imagem de uma Lista de visualização de imagem e colocar essa visualização em uma variável de visualização de imagem

Como fazer uma inicialização personalizada em SwiftUI para usar parâmetros de um arquivo separado

Como faço para usar uma imagem jpgData convertida no SwiftUI?

Como usar o imagemagick para converter uma imagem em um arquivo de texto de cor hexadecimal de pixel, em seguida, de volta para uma imagem?

Como colocar uma imagem dentro de um botão criado em javascript?

Como colocar uma imagem abaixo de um listview em vibração?

O que acontece com um manipulador de conclusão quando uma visualização é exibida?

Como excluo uma imagem de uma entrada de arquivo clicando em um "x" em uma visualização da imagem?

como usar o valor de retorno em um manipulador de conclusão?

Como colocar texto no ponto exato de uma imagem em um ZStack SwiftUI

Como faço para criar um link para uma imagem em uma apresentação de slides?

Como usar Combinar em uma Visualização SwiftUI

TOP lista

quentelabel

Arquivo