Je suis l'aide de l'auto contraintes de mise en forme par programme à la disposition de mon custom UITableView cellules et je suis de définir correctement la taille des cellules en tableView:heightForRowAtIndexPath:
Il fonctionne très bien sur iOS6 et il ne regarde bien dans iOS7 ainsi
MAIS quand je lance l'application sur iOS7, voici le genre de message que je vois dans la console:
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2013-10-02 09:56:44.847 Vente-Exclusive[76306:a0b] 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. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0xac4c5f0 V:|-(15)-[UIImageView:0xac47f50] (Names: '|':UITableViewCellContentView:0xd93e850 )>",
"<NSLayoutConstraint:0xac43620 V:[UIImageView:0xac47f50(62)]>",
"<NSLayoutConstraint:0xac43650 V:[UIImageView:0xac47f50]-(>=0)-[UIView:0xac4d0f0]>",
"<NSLayoutConstraint:0xac43680 V:[UIView:0xac4d0f0(1)]>",
"<NSLayoutConstraint:0xac436b0 V:[UIView:0xac4d0f0]-(0)-| (Names: '|':UITableViewCellContentView:0xd93e850 )>",
"<NSAutoresizingMaskLayoutConstraint:0xac6b120 h=--& v=--& V:[UITableViewCellContentView:0xd93e850(44)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0xac43650 V:[UIImageView:0xac47f50]-(>=0)-[UIView:0xac4d0f0]>
Et en effet il y a un de la contrainte dans cette liste je ne veux pas :
"<NSAutoresizingMaskLayoutConstraint:0xac6b120 h=--& v=--& V:[UITableViewCellContentView:0xd93e850(44)]>"
et je ne peux pas définir l' translatesAutoresizingMaskIntoConstraints
de la propriété de l' contentView
PAS => il serait gâcher l'ensemble de la cellule.
44 la valeur par défaut est la hauteur de la cellule, mais j'ai défini mon custom hauteurs de dans la vue de table délégué pourquoi la cellule contentView a cette contrainte? Quelle pourrait en être la cause?
Dans iOS6, il ne se passe rien et tout à l'air très bien sur les deux iOS6 et iOS7.
Mon code est assez grand donc je ne vais pas poster ici, mais n'hésitez pas à demander un pastebin si vous en avez besoin.
Pour spécifier la façon dont je le fais, sur la cellule intialization:
- Je crée toutes mes étiquettes, boutons, etc
- J'ai mis leur
translatesAutoresizingMaskIntoConstraints
propriété - - Je les ajouter en tant que sous-vues de l'
contentView
de la cellule - - Je ajouter des contraintes sur l'
contentView
Je suis également très intéressé à comprendre pourquoi cela se produit uniquement sur iOS7.