2016-04-26 2 views
-3

Constraints können nicht gleichzeitig erfüllt werden. Wahrscheinlich ist mindestens eine der Einschränkungen in der folgenden Liste eine, die Sie nicht möchten.Constraints können bei gleichzeitiger Anwendung von automatischen Layoutbeschränkungen nicht gleichzeitig erfüllt werden

Versuchen Sie folgendes:

(1) an jedem Zwang betrachten und versuchen, herauszufinden, was Sie nicht erwarten;

(2) finden Sie den Code, der die unerwünschte Einschränkung oder Einschränkungen hinzugefügt und behoben. (

"<NSLayoutConstraint:0x7f844b716390 H:|-(30)-[UIButton:0x7f844b4be3c0'LOGIN'] (Names: '|':UIView:0x7f844b492a80)>", 
    "<NSLayoutConstraint:0x7f844b706ee0 H:[UIButton:0x7f844b4be3c0'LOGIN'(100)]>", 
    "<NSLayoutConstraint:0x7f844b705dd0 H:[UIButton:0x7f844b4be3c0'LOGIN']-(80)-[UIButton:0x7f844b4c0520'SIGNUP']>", 
    "<NSLayoutConstraint:0x7f844b706f30 H:[UIButton:0x7f844b4c0520'SIGNUP'(100)]>", 
    "<NSLayoutConstraint:0x7f844b7147c0 H:[UIButton:0x7f844b4c0520'SIGNUP']-(30)-| (Names: '|':UIView:0x7f844b492a80)>", 
    "<NSLayoutConstraint:0x7f844b519f70 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7f844b492a80(375)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7f844b705dd0 H:[UIButton:0x7f844b4be3c0'LOGIN']-(80)-[UIButton:0x7f844b4c0520'SIGNUP']> 
+0

https://autolayoutconstraints.com/ <- Verwenden Sie diese Website, um programmatisch Einschränkungen zu schreiben. –

Antwort

2

Das Ihren Zwang bedeutet nicht aus jedem Blickwinkel genügen. Zum Beispiel, wenn Sie Ansicht mit 50x50 Größe haben. Und es wird in genau in der Mitte positioniert. Jetzt, wenn Sie Einschränkungen wie horizontaly Zentrum in Behältern geben und führende Einschränkung wie immer 0 Abstand mit Vorderkante halten (linke Kante), dann schafft es Mehrdeutigkeit.Es kann nicht beide Einschränkungen erfüllen, ob es in der Mitte bleiben kann oder 0 Abstand mit Vorderkante verwalten kann, aber beide nicht erfüllen können Dies gibt Fehler wie unable to simultaneously satisfy constraints

Also, in Ihrem Fall überprüfen Sie alle verwandten Einschränkungen. Wenn irgendwelche Einschränkungen Ambiguität dann Entfernen Sie es und alle Einschränkungen fehlen, dann fügen Sie es hinzu.

Hope this helfen :)

0

Dies ist eine übliche Nachricht in der Konsole zu sehen, wenn Automatische Anordnung verwendet wird. Dies wird durch einige Fehler verursacht, die Sie beim Erstellen von Einschränkungen für Ihre Ansichtsobjekte gemacht haben. Überprüfen Sie alle Einschränkungen sorgfältig. Die Ansicht wird möglicherweise zu diesem Zeitpunkt ordnungsgemäß gerendert. Aber auf anderen Geräten mit unterschiedlichen Bildschirmgrößen und -ausrichtungen kann die Ansicht brechen. Sie haben möglicherweise eine oder zwei Einschränkungen für eine Ansicht verpasst, mehrdeutige Einschränkungen für eine Ansicht usw. hinzugefügt.

Verwandte Themen