2016-12-14 2 views
0

Je suis en train de mettre en œuvre le UITableView en utilisant le fichier xib Mais quand je lance l'application j'obtiens l'erreur suivante & le xib est correctement dans le petit écran comme iPhone4s
il fonctionne très bien dans une plus grande taille d'affichage.Impossible de satisfaire simultanément les contraintes Lorsque vous essayez de charger le fichier xib

Screenshot of xib

Toute aide sera appréciée

Erreur

2016-12-14 17:12:41.826 FoodStrock[5776:1761262] Unable to simultaneously satisfy constraints. 
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
     (1) look at each constraint and try to figure out which you don't expect; 
     (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x7fcc2a6dfac0 V:[UIImageView:0x7fcc2a6e1010(63)]>", 
    "<NSLayoutConstraint:0x7fcc2a617530 V:[UIImageView:0x7fcc2a6e1010]-(8)-| (Names: '|':UITableViewCellContentView:0x7fcc2a6e1270)>", 
    "<NSLayoutConstraint:0x7fcc2a6cc3b0 V:|-(9)-[UIImageView:0x7fcc2a6e1010] (Names: '|':UITableViewCellContentView:0x7fcc2a6e1270)>", 
    "<NSLayoutConstraint:0x7fcc2a4955a0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fcc2a6e1270(59.6667)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fcc2a6dfac0 V:[UIImageView:0x7fcc2a6e1010(63)]> 

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. 
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful. 
2016-12-14 17:12:41.827 FoodStrock[5776:1761262] Unable to simultaneously satisfy constraints. 
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
     (1) look at each constraint and try to figure out which you don't expect; 
     (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x7fcc2a6a69d0 V:[UILabel:0x7fcc2a6e1670'Address'(63)]>", 
    "<NSLayoutConstraint:0x7fcc2a693820 UILabel:0x7fcc2a6e1670'Address'.bottom == UITableViewCellContentView:0x7fcc2a6e1270.bottomMargin>", 
    "<NSLayoutConstraint:0x7fcc2a6e0c00 UILabel:0x7fcc2a6e1670'Address'.top == UITableViewCellContentView:0x7fcc2a6e1270.topMargin + 1>", 
    "<NSLayoutConstraint:0x7fcc2a4955a0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fcc2a6e1270(59.6667)]>" 
) 
+0

Vérifiez vos contraintes correctement. L'erreur se produit en raison de contraintes supplémentaires. Vérifiez chaque contrainte et supprimez les contraintes inutiles. –

Répondre

0

Mettez votre UIImageView, UILabel, UIButton en simple UIView (dit MainView). Maintenant, les contraintes de mainView seront en tête, en arrière, en haut et en bas de la vue xib (superView). Maintenant, les contraintes de UIImageView, UILabel, UIButton sont selon vos besoins. vue principale.

REMARQUE: Donnez des contraintes aux composants UIComponents aussi minimes que possible, mais gardez l'esprit à ce sujet pour répondre à vos besoins. Comme ici, donner des contraintes comme ceci:

  1. UIImage: haut, bas, leader MainView wrt et une largeur constante ou vous pouvez donner Centrer horizontalement à conteneurs, de premier plan, la hauteur, la largeur.

  2. UIButton: haut, bas, arrière par rapport à la vue principale et à la largeur constante ou vous pouvez donner horizontalement le centre au conteneur, l'interlignage, la hauteur, la largeur. UILabel: le traînant principal et le centre horizontal au récipient suffisent mais vous pouvez donner la taille également. UILabel peut prendre automatiquement la hauteur et la largeur en fonction de la taille de police du texte dont vous avez juste besoin pour spécifier les coordonnées x et y.

+0

Merci Tinu pour l'aide, mais je ne trouve pas UIView dans le fichier xib –

+0

Mec, vous devez ajouter une nouvelle UIView, en bas à droite de votre storyboard, faites-le glisser et déposez-le. Et puis mettez tous vos composants dedans puis travaillez avec. –