0
votes

Largeur de la cellule UitailView non modifiée lorsque des contraintes sont appliquées Storyboard Xcode

J'utilise une cellule de TableView personnalisée et une mise en page automatique, mais je suis confronté à l'erreur suivante, j'ai essayé d'appliquer différentes contraintes de manière à ce que la largeur soit étirée mais que la largeur ne soit trouvé aucun succès. Pourriez-vous que quelqu'un puisse m'aider à ajuster les contraintes afin que la cellule remplit toute la largeur de l'écran?

J'ai essayé d'ajouter des contraintes de fuite et des contraintes de largeur égales mais n'a pas eu de succès

 Entrez la description de l'image ici


EDIT 1:

J'ai essayé ceci en fonction des suggestions et j'ai obtenu ce

 Entrez la description de l'image ici

et dans l'aperçu, il me montre cette

 Entrez la description de l'image ici


EDIT 2:

La même erreur se produit dans une autre disposition trop

ici c'est

 Entrez la description de l'image ici

Les contraintes ajoutées sont

 Entrez la description de l'image ici

et l'aperçu de la taille de l'écran plus petite

 Entrez la description de l'image ici

Tous les éléments en dehors de la tableView sont correctement mis à l'échelle, l'erreur se produit pour les éléments de la tableView, l'erreur étant que la largeur de la cellule n'est pas ajustée en fonction de la taille de l'écran

Pourriez-vous m'aider avec cela?


EDIT 3:

Voici les contraintes et la sortie avec de l'arrière-plan coloré pour une meilleure compréhension, je n'ai toujours trouvé aucune solution et je ne comprends pas pourquoi il ne fonctionne pas, pourrait-on aider

contraintes:

 Entrez la description de l'image ici

sortie dans la fenêtre d'aperçu:

 Entrez la description de l'image ici


EDIT 4:

J'ai créé une mise en page simple pour faciliter la résolution du problème

 Entrez la description de l'image ici

et la sortie

 Entrez la description de l'image ici

Le problème principal est que la largeur n'est pas à l'échelle, ne peut pas sembler comprendre pourquoi ...


EDIT 5:

Quand j'ai fait la même mise en page sur iPhone SE, il s'agissait des résultats, j'ai utilisé les mêmes contraintes que ci-dessus dans Modifier 4

 Entrez la description de l'image ici

Les contraintes ne semblent pas fonctionner à l'intérieur de la cellule de vue de la table. Quelqu'un pourrait-il me dire comment cette question pourrait être résolue? Merci


5 commentaires

Pouvez-vous ajouter du code / de la capture d'écran de storyboard? On dirait que la boîte rouge manque des contraintes manquantes


Pouvez-vous s'il vous plaît partager les contraintes ajoutées aux vues?


Je pense que les priorités résistantes à la compression de contenu pour "titre" et "temps" sont celles qui créent le problème. Pouvez-vous essayer de donner une largeur fixe au "titre" et une contrainte de pointe entre les deux?


J'ai fabriqué une cellule de TableView plus simple avec juste un UIView, la largeur ne semble pas être ajustée avec les contraintes, je l'ai ajoutée dans Edition 4


@AJ_IOS Pourriez-vous m'aider à comprendre comment cette question pourrait être résolue? Ça fait deux jours je suis coincé sur ce bug ...


3 Réponses :


1
votes

Premièrement, prenez d'abord un UIView sur la tableViewCell et donnez de la tête, de la traînée, du haut, du bas à 0. puis conçoit votre vue haute. et ne donnez aucune conduite à TIME Étiquette.


0 commentaires

1
votes

 Entrez la description de l'image ici

Si vous avez ajouté les vues de cette hiérarchie pour la cellule, cela fonctionne bien avec tous les appareils.

Veuillez vérifier les contraintes ajoutées.


6 commentaires

Sûr! Va essayer cela. Merci beaucoup!


J'ai essayé la solution ci-dessus que vous avez fournie mais cela ne fonctionne toujours pas. J'ai modifié la question ci-dessus et j'ai ajouté les contraintes et la sortie ci-dessus. Pourriez-vous s'il vous plaît jeter un coup d'œil et m'aider à comprendre ce qui aurait pu être faux? Merci


Ça se passe aussi avec ma dernière mise en page


Pouvez-vous s'il vous plaît essayez de donner une couleur d'arrière-plan à la cellule pour vous assurer que c'est la cellule qui n'augmente pas la largeur ou y est en fait un problème avec les contraintes?


Oui j'ai modifié ma question 'Edit 3' qui inclut la couleur d'arrière-plan sur les vues et les contraintes appliquées


Je pense que les priorités résistantes à la compression de contenu pour "titre" et "temps" sont celles qui créent le problème. Pouvez-vous essayer de donner une largeur fixe au "titre" et une contrainte de pointe entre les deux?



3
votes

de votre Edit5 , je crois que vous voulez quelque chose comme ça.

Edit5 SE EDIT5 XR

Ce sont les captures d'écran de XR et SE.
1. Laissez votre cellule calculer la hauteur automatiquement. Il vous suffit d'appliquer des contraintes sur les éléments à l'intérieur de la cellule.
2. Dans l'UitaillageViewCell, ajoutez un UIView (couleur de fond: jaune) avec des contraintes supérieure, en bas, en tête, de hauteur égale à 0. Donnez une hauteur fixe à cette vue si vous ne voulez pas qu'il soit égal à la hauteur de la ligne par défaut.
3. Dans ce jaune UIView, ajoutez une autre uIView (couleur de fond: vert) avec des contraintes menant = 10, suivi = 10. Marquez cet UIView vert "Centre verticalement dans le conteneur" à son parent I.e Yellow UIView. Maintenant, donnez de la contrainte de hauteur égale verte UIView à son parent I.e Yellow UIView. Vous pouvez modifier le multiplicateur en fonction de vos besoins.

contraintes sur EDIT5: Edit5 Contraintes

De plus, pour votre Edit1 , selon ma compréhension, vous n'appliquez pas de contenu à étreindre la priorité au label TIME. Le contenu de la priorité des étreignements entre en jeu lorsque le contenu disponible est supérieur à la taille totale du contenu. Ici, contenu disponible = largeur de l'écran et taille totale du contenu = Titre + heure. Ainsi, vous devez définir le contenu de l'heure étreignant la priorité de la priorité élevée et le contenu du titre étreignant la priorité à la priorité pour l'étiquette de titre pour développer votre écran. Celui avec une priorité plus élevée est pressé, c'est bien serré c'est un contenu.

J'ai attaché la capture d'écran des écrans XR et SE.
Edit1 SE EDIT1 XR

contraintes sur EDIT1: EDIT1 CONTR


1 commentaires

Dans Edit5, si vous ne voulez pas prendre un UIView de Yellow Extra, vous pouvez utiliser la vue de contenu de TableViewCell. Donnez à toutes les contraintes vertes UIView identiques que ci-dessus à contenuView cette fois-ci. Définissez la couleur de fond de la vue de contenu comme jaune. Cela économisera 1 vue supplémentaire dans votre cellule. De plus, vous pouvez modifier la hauteur de Green UIView en ce qui concerne votre vue de contenu en donnant un multiplicateur dans la propriété Hauteur de Vert UIView à la vue du contenu.