Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Imagens: Scale to fill mantendo seu aspecto

Estou trabalhando com imagens em um projeto, e queria o seguinte resultado.

Se a foto tiver dimensões diferentes do image view, quero que a foto preencha todo o espaço da image view (Scale to fill), porém mantendo sua escala (seu aspecto).

Exemplo: Se a foto tem altura 200 e largura 200 e a image view tem altura 170 e largura 220, quero que a largura da foto ocupe toda a largura da image view (220) e mantenha a escala, de forma que a image view não mostre toda a altura da foto, tirando 25 do seu topo e 25 de baixo (de modo que a foto fique centralizada).

No android é muito fácil de se fazer isso, já tem um parâmetro para scaleType que faz exatamente isso, mas para IOS não consegui fazer.

Alguém sabe se tem alguma forma de se obter esse resultado com swift?

1 resposta
solução!

Olá Marcos, tudo bem?

No swift também é bem simples de chegar nesse resultado.

Pode deixar a imagem com a opção Aspect Fill setada para dimensionar o conteúdo da imagem.

Depois disso, você seta a opção clipsToBounds:

opcao clipsToBounds setada no storyboard

Ou se preferir pode fazer programaticamente:

imageView.clipsToBounds = true

A propriedade clipsToBounds corta o conteúdo fora do UIImage.

Nesse caso que você contou, quando você seta a opção Aspect Fill ele redimensiona a imagem, porém ela fica maior que o ImageView. Aí utilizamos o clipsToBounds para cortar o conteúdo fora do tamanho do ImageView.

Verifica se é isso que você precisava e depois me conta se funcionou aí =]

Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software