iOS布局问题请教
大家讲道理
大家讲道理 2017-04-18 09:26:21
0
4
325

学习了几天iOS(依然小白)
之前是做Android的
我想问下 是否有像Android那样的可以在布局文件xml中设置高度呢

现在我只知道在xib中设置了 无效
是不是iOS要控制view的高度 必须要在代码中通过CGRectMake来设置吗

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(4)
刘奇

Le répondant est aussi un salaud technique qui a écrit Android pendant plusieurs années avant de venir sur iOS. Au début, je me sentais mal à l'aise avec iOS, mais après quelques mois d'écriture et d'adaptation, j'ai découvert que je ne pouvais plus bien écrire sur Android. Parce qu'iOS est en fait beaucoup plus pratique à écrire que je ne le pensais au départ, et il est également beaucoup plus pratique qu'Android.

Quant à la raison pour laquelle j'ai rejeté le développement iOS lorsque j'ai commencé à apprendre, elle est en grande partie due à la quelque mauvaise expérience de Xcode. Xcode a un gros problème : des fonctions évidemment très pratiques et couramment utilisées sont placées dans le coin sous forme d'icônes sans même y être invité.

Il en va de même pour la fonction de contrainte AutoLayout d'Interface Builder : les quatre petites icônes discrètes placées dans le coin inférieur droit de la zone d'édition visuelle. Sélectionnez un contrôle et cliquez sur le deuxième bouton pour définir les contraintes de centrage horizontal et vertical ; cliquez sur le troisième bouton pour définir la distance, la largeur fixe, la hauteur fixe et le rapport hauteur/largeur fixe à partir des contrôles supérieurs, inférieurs, gauche et droit les plus proches ; Le bouton est utilisé pour définir de bonnes contraintes pour mettre à jour la vue. Les fonctions de ces quatre boutons sont encore plus puissantes : si vous maintenez la commande enfoncée pour sélectionner plusieurs contrôles, vous pouvez définir l'alignement de plusieurs contrôles, etc.

Une fois qu'un contrôle a des contraintes définies, il a une tendance implicite à s'adapter à son contenu à moins que certaines contraintes ne soient forcées de changer sa taille.

Si plusieurs contrôles de contenu adaptatifs tels que UILabel sont disposés ensemble, faites également attention à la priorité d'inclusion du contenu et à la priorité de résistance à la compression du contenu en bas de l'étiquette « Taille » dans la barre de propriétés à droite. Le vocabulaire du répondant est superficiel et il ne peut pas décrire clairement cette fonction pour le moment. Il peut seulement dire que c'est un peu comme layout_weight dans Android.

L'idée d'AutoLayout doit également faire l'objet d'une attention particulière de la part des développeurs qui passent d'Android à iOS. En particulier, le nombre de contraintes doit être juste, ni trop petit pour provoquer une ambiguïté, ni trop grand pour provoquer des conflits ; les contraintes de chaque contrôle doivent être suffisantes pour déterminer sa position horizontale, sa position verticale, sa largeur et sa hauteur (UILabel, etc. peut s'adapter au contenu, il n'est donc pas nécessaire de déterminer la largeur et la hauteur).

Dans la propre pratique du répondant, AutoLayout peut répondre à de nombreux besoins qu'Android Layout ne peut pas répondre (cela peut aussi être dû au fait que le répondant ne connaît pas suffisamment Android). Par conséquent, même si les débutants peuvent penser qu'AutoLayout n'est pas aussi pratique qu'Android Layout, une fois que les développeurs maîtrisent les différentes utilisations d'AutoLayout, ils le trouveront comme un outil tout aussi pratique et plus puissant.

伊谢尔伦

Pouvez-vous publier la capture d'écran et le code xib ? Dans certains cas, la mise en page automatique est activée par défaut

左手右手慢动作

Vous pouvez définir la hauteur directement dans xib, mais ce n'est pas assez flexible. Vous pouvez en apprendre davantage sur AutoLayout

.
大家讲道理

ios utilise actuellement la mise en page automatique. Bien sûr, vous pouvez désactiver et utiliser le « positionnement absolu ». La mise en page automatique est quelque peu similaire à la mise en page des contraintes actuelle d'Android. Il existe quelques similitudes avec la disposition relative, mais pas tant que ça. Pour l'utiliser, placez le curseur sur votre vue puis ctrl+glissez. Définissez ensuite des paramètres spécifiques.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal