UIImageView avec Aspect de Remplissage à l'intérieur de la coutume UITableViewCell à l'aide de mise en page automatique

J'ai eu du mal avec la pose d'un UIImageView qui montre des images de la variable largeurs et hauteurs avec Aspect Fill. La hauteur de la cellule n'est pas adapter à la nouvelle hauteur de la UIImageView et persister de hauteur.

La hiérarchie des vues est ce

  • UITableViewCell
    • UITableViewCell.ContentView
      • UIImageView

J'ai essayé ces scénarios dans XCode Mise en page Automatique :

  • définir la UIImageView => Height à remove at build time
  • définir la Intrinsic Value de la UIImageView à placeholder
  • définir la Intrinsic Value pour chacun des UIImageView, ContentView et UITableViewCell à placeholder

Avec l'une de ces combinaisons-je obtenir ce point de vue:

http://i.stack.imgur.com/Cw7hS.png

Les lignes bleues représentent la cellule frontières (limites) et les verts représentent les UIImageView frontières (limites). Il y a quatre cellules dans cet exemple, le 1er et le 3e ont pas d'images et le 2e et le 4e, il y a la même image (débordement de cours de ceux qui n'en ont aucun).

  • Pourquoi ne pas utiliser .ScaleToFill au lieu d'un calculer quelle est la largeur et la hauteur des images, vous avez à mettre dans la cellule de s'attendre à un meilleur résultat?
  • .ScaleToFill de ne pas garder le ratio d'aspect des images. Prenons le cas si j'ai une image avec une égale hauteur et la largeur (carré) et qui veulent s'adapter à l'intérieur de la UIImageView il va s'étirer, je crois.
  • Oui, vous avez raison, mais si on calcule les proportions de la largeur sur la taille de l'image d'origine, vous pouvez définir la largeur de l'image en plus de la cellule et de l'image à conserver son aspect.
  • Disons que j'ai fait, comment la cellule va ajuster sa hauteur avec égard à la hauteur de son contenu, en particulier les UIImageView. envisager un scénario où une image est prise par un appareil photo de téléphone en mode portrait et la hauteur est plus grand que la largeur de l'image.
  • Voir mise à jour de réponse. Je l'espère, peut vous aider à
InformationsquelleAutor Mickey Mouse | 2015-03-15