Comment resize UIView pour une application universelle avec Autolayout

J'ai fait un UIView avec UIView embedded à l'intérieur. J'ai utilisé des contraintes pour get un UIView décent, mais il ne fonctionne pas encore comme je le souhaite, même si le résultat est correct.

Je voudrais get les mêmes résultats que j'ai sur l'iPhone 4,7 pouces dans l'iPhone 5,5 pouces et le 4 pouces.

Pour cela, je pense que j'ai besoin de resize les blue UIViews mais je n'ai aucune idée de comment les resize automatiquement à partir du storyboard ou programmatique. Je me souviens il y a longtime, je l'ai fait pour une application Android et c'était facile, j'avais juste besoin de donner un % bigger or lower .

Y a-t-il un moyen de le faire avec iOS?

stupides uiviews, redimensionnez-vous s'il vous plaît

Si ce sont des UIViews . Ensuite, vous pouvez faire ce qui suit:

  1. Sélectionnez toutes les vues à la fois:

entrez la description de l'image ici

Essaye ça. Et laissez-moi savoir si un problème se pose.

J'espère que cela peut aider.

Je crois que le commentaire d'ismail est correct, les classs de taille sont la bonne façon de le faire dans le storyboard.

Si vous cherchez une solution plus programmatique, vous pouvez implémenter la méthode sizeForItemAtIndexPath sur UICollectionViewDelegateFlowLayout , par exemple, vous pouvez calculer la largeur de chaque périphérique et renvoyer les bonnes proportions pour chaque cellule en utilisant la méthode mentionnée. Exemple de base:

 func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { return CGSize(width:10, height:10) } 

Veillez à tenir count de l'espacement des vues de votre collection et des encarts de section lors du calcul de vos largeurs et hauteurs.

Apple a déclaré qu'il suffit de sélectionner toutes les vues de la scène et de cliquer sur "Ajouter des contraintes manquantes" ou sur "Réinitialiser les contraintes suggérées". résoudra la majorité des problèmes de layout automatique. Donnez un coup de feu d'abord et avant tout. (Je cherche la source maintenant, je vais éditer la réponse bientôt).

Ensuite, consultez ce document Apple sur la résolution des problèmes de layout automatique. C'est un court article qui vous aidera à comprendre comment déboguer ce que vous essayez de faire:

https://developer.apple.com/library/ios/recipes/xcode_help-IB_auto_layout/chapters/ResolvinganItemsLayoutIssues.html

Vous pouvez le faire avec les classs Autolayout et Size . Voici des liens vers de superbes tutoriels:

Autolayouts

Classes de taille