Comment faire UIImageView redimensionner automatiquement à la taille de l'image chargée
J'ai mis une UIImageView de contrôle sur mon point de vue de l'IB.
La taille de la commande est juste quelque chose que j'ai décidé, assez aléatoire de taille vraiment
Ce que je veux faire, c'est le contrôle de redimensionner automatiquement à chaque fois que j'ai défini la image propriété à une nouvelle image. Je veux vraiment le redimensionner à la taille de l'image.
Peut-il être fait automatiquement ? sans aucun code d'intervention ?
Si ce n'est pas ce que sera la meilleure approche dans ce cas ?
Ce qui se passe aujourd'hui est étrange. - Je charger des images dans l'ImageView et je vois les images se affiche correctement, même si la taille de l'ImageView n'est pas modifié. Cela interfère avec mon intention de l'accaparement des utilisateurs touche plus de l'ImageView. L'utilisateur touche l'image réelle, mais comme certaines parties de l'image sont à l'extérieur ( et c'est la partie étrange ) de l'ImageView - point de la cartographie devient fou
Quelqu'un peut-il penser à une explication à cela ?
grâce
- n'importe qui ? ne peux pas le trouver n'importe où
Vous devez vous connecter pour publier un commentaire.
La taille d'une image n'a aucune incidence sur la taille de la UIImageView est en fait, plutôt de la taille de la UIImageView dépend uniquement de la taille de la donnée dans Interface Builder (ou que vous avez affecté à celle-ci). Sinon les images seraient tous déjanté lorsque vous utilisez le @2x images pour les écrans Retina par exemple.
Si vous voulez résoudre ce problème, vous devez modifier l'image lors de la définition de l'image. Si vous êtes à faire maintenant:
le modifier:
Ce ne sera cependant pas modifier la mise en page de vue, il est contenu à l'intérieur, vous pouvez faire changer les tailles de tous les autres points de vue automatiquement sous iOS 6 à l'aide de Contraintes de Mise en forme. Si vous êtes Développeur d'Apple, vous pouvez regarder la WWDC vidéos d'instruction, ils expliquent comment ce système fonctionne très bien.
Si vous êtes bien avec la vue ne grandit pas, et le problème est juste la façon dont l'image déborde c'est limite quand vous le changer pour un qui ne correspond pas à la dimension du contenant de vue, vous pouvez définir le "Clip des sous-vues" case à cocher dans l'Interface Builder pour l'affichage de l'image. Cela fera en sorte que la vue ne sera pas dessiner quoi que ce soit à l'extérieur de sa propre boîte englobante, si vous réglez le mode de mise à l'échelle à Côté "de Remplissage" ou "À l'Échelle pour Remplir", l'image sera toujours remplir l'ensemble des limites de l'contenant de vue.
Voici l'extrait de code j'ai couper et coller souvent, en utilisant la même méthode que Hampus Nilsson ci -
Exemple
UIImageView Extension
Un merveilleux cut & coller, utiliser en cas de besoin!