2017-10-11 5 views
1

Je travaille sur une application. La version xcode est 9 et la version iOS est 11. Le projet est dans l'objectif c.Définir le champ de texte de largeur flexible dans la barre d'outils

Je souhaite ajouter une barre d'outils dans l'application contenant un champ de texte et un bouton. Le problème est que les deux éléments fonctionnent correctement en mode portrait, mais pour le mode paysage, la largeur du champ de texte et du bouton n'est pas ajustée automatiquement pour remplir toute la barre d'outils. Une chose que j'ai remarqué que nous ne pouvons pas être en mesure d'ajouter les contraintes sur les éléments de la barre. J'essaye déjà la largeur flexible et la largeur fixe pour placer la largeur dynamique des deux articles mais la description d'image de noener ici a fonctionné pour moi. Alors S'il vous plaît me suggérer ce que je peux faire pour définir la largeur flexible du champ de texte et le bouton qui sont dans une barre d'outils en mode paysage. Merci d'avance.

Screenshot of what i get in landscape mode

Screenshort of what i want to display on view

+0

essayer paramètre '' contentHuggingPriority' du textField' à 1 .. il est juste une supposition, mais il pourrait fonctionner –

+0

Merci pour l'aide. Pouvez-vous s'il vous plaît me donner plus de détails sur contentHuggingPriority comment puis-je l'utiliser dans mon application. Au fur et à mesure que je fais des recherches à ce sujet, je me réfère aux contraintes mais j'ai déjà mentionné que nous ne pouvons pas ajouter les contraintes sur les éléments de la barre. –

+0

https://developer.apple.com/documentation/uikit/uiview/1622485-setcontenthuggingpriority –

Répondre

0

J'essaie de mettre en œuvre plusieurs choses pour définir la largeur flexible de textfield et a trouvé la solution. nous devons juste ajouter le code d'une ligne et cela fonctionne comme le charme. Ajoutez les contraintes supérieure, gauche et droite à la barre d'outils, ajoutez la contrainte de hauteur fixe pour la barre d'outils et connectez la sortie du champ de texte.

txtfld.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;