Estou tentando desenhar algumas imagens em miniatura em um tamanho fixo (100x100) usando UIImageView
. Eu definir o tamanho do quadro de meu ponto de vista para ser 100x100, e definir o contentMode
que UIViewContentModeScaleAspectFill
.
Meu entendimento é que isso deve fazer com que a imagem seja desenhada no tamanho definido, e a imagem preencherá a área da imagem e recortará todas as partes da imagem que estiverem fora do tamanho definido para a visualização da imagem. No entanto, a imagem ainda é desenhada maior ou menor que o tamanho de 100 x 100 definido por ela.
Se eu definir contentMode
como UIviewContentModeScaleToFill
, a imagem será desenhada exatamente 100x100, mas será distorcida para caber nessas dimensões. Alguma idéia de por que o preenchimento de aspecto não está aparando como esperado?
Aqui está o meu código:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Para ilustrar melhor, aqui está uma captura de tela do que estou vendo. Os quadrados verdes são os UIView
que UIImageView
eu estou trabalhando. Defina a cor do plano de fundo para verde e o quadro da vista para 100x100. Como teste, eles UIImageViews
são dimensionados para 50x50. Como você pode ver, ao usar o ...AspectFill
, as imagens não são dimensionadas para 50x50 e, em alguns casos, são deslocadas de onde eu gostaria. Ao usar ...ScaleToFill
, eles são dimensionados corretamente, mas a imagem está distorcida.