Où est le Xcode case “Traduit d'un redimensionnement automatique Masque de Contraintes”
Dans un de la WWDC 2012 de vidéos, Mise en page Automatique Par Exemple, ils démo une app OS X à l'aide de mise en page automatique, et à environ 7 ou 8 minutes, il montre comment, pour une vue unique, vous pouvez décocher une case dans les Attributs de l'Inspecteur, et la boîte est appelé quelque chose comme "Traduit d'un redimensionnement automatique Masque de Contraintes". Maintenant, je suis bien conscient de l'équivalent de code de cette case, la translatesAutoresizingMaskIntoConstraints boolean, mais je n'arrive pas à trouver cette case à cocher n'importe où en soit iOS ou OS X projets. Mon projet utilise la mise en page automatique. Je voudrais vraiment cette case, parce que l'une des choses que je suis aux prises avec dans l'apprentissage de la mise en page automatique (et de la conversion d'un des ressorts/struts application pour AL) est le million de contraintes Xcode a généré pour chaque vue, et la façon de les nettoyer et sensée remplacer certains/tous dans le code. Ce que j'aimerais pour faire cette conversion à une vue à la fois pour éteindre les auto-généré des contraintes.
Pourquoi je ne vois pas cette case? Je suis en utilisant Xcode 4.6.
Vous devez vous connecter pour publier un commentaire.
Cette case à cocher est disponible dans Interface Builder (IB), mais seulement si vous êtes l'élaboration de Cacao projets ciblés pour OS X. Pour iOS, il n'est pas disponible à l'heure actuelle. Vous pouvez uniquement définir par programmation.
Mise en page automatique sur iOS à partir de ma compréhension - et d'autres se sentent libres de terrain dans l'ici - n'est pas une mise en œuvre complète de ce qui est disponible sur OS X.
Pour être honnête, compte tenu de ce que vous dites par la suite, cette case est probablement quelque chose que vous n'avez pas besoin de s'inquiéter. Je pense que c'est important dans la mise à niveau de l'OS X de projets pour Mise en page Automatique, mais généralement pour iOS, il est peu probable que vous allez être un mélange de l'un et de l'autre. I. e., vous case, votre Xib dans le Fichier Inspecteur "Utiliser la mise en forme automatique" ou vous n'avez pas.
Cela dit, il y a un cas d'utilisation où vous pourriez avoir besoin de jouer avec ce drapeau. C'est si vous voulez créer une application autonome Xib fichier pour les afficher, puis de la charge que par programmation à l'aide
loadNibNamed
. Quand vous faites que, par défaut, de style ancien, Auto Redimensionnement contraintes sont convertis en de nouveaux style de Mise en page Automatique des contraintes. Généralement, je tiens à ajouter mon propre j'ai donc mis le drapeau de zap 'em.myView.translatesAutoresizingMaskIntoConstraints = NO
De toute façon c'est une autre histoire.
Voici le lien pour plus d'info, même si vous l'avez sans doute eu un coup d'oeil déjà:
L'Adoption De Mise En Page Automatique
Un truc que j'aimerais dire, c'est que si vous avez de la peine avec Mise en page Automatique au début, et vous ne serait pas l'être humain, si vous n'étiez pas, nous avons tous été - alors, je collerais avec Interface Builder et réfléchir sur les règles d'or. Le plus important pour moi est qu'il déteste l'ambiguïté. C'est comme un vide dans la nature. Avant de supprimer la contrainte que vous ne voulez pas, vous devez ajouter une que vous ne voulez puis zap l'ancien.
L'autre erreur que j'ai faite a été de mélange Automatique de la Mise en page et les images. Donc je ferais un peu de code qui vérifie la largeur du châssis, puis appliquez-les à la les contraintes. Grave erreur. Qui se termine vraiment en larmes. Lorsque vous arrivez à la Mise en page Automatique, il est essentiel de vraiment oublier de faire quelque chose avec
CGRect
,frame
, etc.Rester avec elle si. Commencer avec quelques simples vues de l'IB et de l'expérience. Il y a la méthode à la folie, vraiment.
Un lien de plus aussi intéressant de regarder est:
10 Choses Que Vous Devez Savoir À Propos De Cacao Mise En Page Automatique
frame
vraiment me rendre fou au moment où le mélangeAutoLayout
etframe
.... Je l'ai enfin mise à jour de laframe
de nouveau à la-viewDidLayoutSubViews
après la fin de l'animation.