Ich arbeite an einem OpenGL-Projekt. Ich habe einige Bilder (2 für xy-Skalen) und Beschriftungen (8) verwendet, um die Skala auf dem Bildschirm anzuzeigen. Meine erste Ansicht ist eine, tableview
von der aus ich gehe openglView
. Aber wenn ich zurück openglView
zum gehe tableView
, gibt es diesen Fehler und App stürzt ab.
"Diese UIView scheint der Delegierte einer NSISVariable zu sein, von der sie nichts weiß. Dies ist ein interner UIKit-Fehler."
Irgendwelche Vorschläge? Geschieht dies, weil ich zu viele UI-Elemente einbinde, außer den Bildern und Beschriftungen, für die ich auch einige Schaltflächen verwendet habe? Und ich bewerbe mich auch affineTransform
für diese Bilder und Etiketten und eine Schaltfläche.
Der genaue Fehler ist:
2013-01-31 12:20:18.743 EMtouch[50496:12203] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '{ Rows:
UILayoutContainerView:0x9835660.Height == 480 + 1*0x7e53030.marker + 1*0x7e546c0.marker
UILayoutContainerView:0x9835660.Width == 320 + 1*0x7e52f90.marker + 1*0x7e54330.marker
UILayoutContainerView:0x9835660.minX == 0 + 1*0x7e52ca0.marker + -0.5*0x7e52f90.marker
UILayoutContainerView:0x9835660.minY == 0 + 1*0x7e52fd0.marker + -0.5*0x7e53030.marker
UINavigationTransitionView:0x9837ea0.Height == 480 + 1*0x7e51bf0.marker + 1*0x7e53030.marker + 1*0x7e546c0.marker
UINavigationTransitionView:0x9837ea0.Width == 320 + 1*0x7e519c0.marker + 1*0x7e52f90.marker + 1*0x7e54330.marker
UINavigationTransitionView:0x9837ea0.minX == 0 + 1*0x7e51940.marker + -0.5*0x7e519c0.marker
UINavigationTransitionView:0x9837ea0.minY == 0 + 1*0x7e51b80.marker + -0.5*0x7e51bf0.marker
UIWindow:0x7e1aea0.Height == 480 + 1*0x7e546c0.marker
UIWindow:0x7e1aea0.Width == 320 + 1*0x7e54330.marker
UIWindow:0x7e1aea0.minX == 0 + -0.5*0x7e54330.marker + 1*0x7e54410.marker
UIWindow:0x7e1aea0.minY == 0 + 1*0x7e542d0.marker + -0.5*0x7e546c0.marker
objective == <250:-0.000579834> + <250:-9.72015e-08>*UILabel:0x7b44bf0.Width + <250:9.72015e-08>*UILabel:0x7b45100.Width
Constraints:
<NSAutoresizingMaskLayoutConstraint:0x7e51940 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.midX == UILayoutContainerView:0x9835660.midX> Marker:0x7e51940.marker
<NSAutoresizingMaskLayoutConstraint:0x7e519c0 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.width == UILayoutContainerView:0x9835660.width> Marker:0x7e519c0.marker
<NSAutoresizingMaskLayoutConstraint:0x7e51b80 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.midY == UILayoutContainerView:0x9835660.midY> Marker:0x7e51b80.marker
<NSAutoresizingMaskLayoutConstraint:0x7e51bf0 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.height == UILayoutContainerView:0x9835660.height> Marker:0x7e51bf0.marker
<NSAutoresizingMaskLayoutConstraint:0x7e52ca0 h=-&- v=-&- UILayoutContainerView:0x9835660.midX == UIWindow:0x7e1aea0.midX> Marker:0x7e52ca0.marker
<NSAutoresizingMaskLayoutConstraint:0x7e52f90 h=-&- v=-&- UILayoutContainerView:0x9835660.width == UIWindow:0x7e1aea0.width> Marker:0x7e52f90.marker
<NSAutoresizingMaskLayoutConstraint:0x7e52fd0 h=-&- v=-&- UILayoutContainerView:0x9835660.midY == UIWindow:0x7e1aea0.midY> Marker:0x7e52fd0.marker
<NSAutoresizingMaskLayoutConstraint:0x7e53030 h=-&- v=-&- UILayoutContainerView:0x9835660.height == UIWindow:0x7e1aea0.height> Marker:0x7e53030.marker
<NSAutoresizingMaskLayoutConstraint:0x7e54330 h=--- v=--- H:[UIWindow:0x7e1aea0(320)]> Marker:0x7e54330.marker
<NSAutoresizingMaskLayoutConstraint:0x7e546c0 h=--- v=--- V:[UIWindow:0x7e1aea0(480)]> Marker:0x7e546c0.marker
<_UIWindowAnchoringConstraint:0x7e542d0 h=--- v=--- UIWindow:0x7e1aea0.midY == + 240> Marker:0x7e542d0.marker
<_UIWindowAnchoringConstraint:0x7e54410 h=--- v=--- UIWindow:0x7e1aea0.midX == + 160> Marker:0x7e54410.marker
}: internal error. Cannot find an outgoing row head for incoming head UILabel:0x7b44bf0.Width, which should never happen.'
*** First throw call stack:
(0x1fb1012 0x19f4e7e 0x1fb0deb 0x1599609 0x159c64f 0x159c753 0xe7e8f9 0x982b24 0x982783 0xbba3fe 0xbba698 0x97a3b6 0x97a554 0x28f7d8 0x1c2b014 0x1c1b7d5 0x1f57af5 0x1f56f44 0x1f56e1b 0x34d37e3 0x34d3668 0x93c65c 0xc56d 0x2b35 0x1)
libc++abi.dylib: terminate called throwing an exception
frame
Eigenschaft undefiniert ist , wenn eine affine Transformation angewendet wird. Vielleicht verwendet Autolayout den Rahmen? Um diese Theorie zu testen, können Sie die Transformationen entfernen und prüfen, ob der Fehler weiterhin auftritt. Jemand mit mehr Autolayout-Erfahrung als ich hat wahrscheinlich eine bessere Vermutung, da ich nicht weiß, was "ausgehende Reihenköpfe" sind. Es könnte sich auch lohnen, ein Radar bei Apple einzureichen.Antworten:
"Tabellenansicht, von der aus ich zu openglView gehe" - Diese Anweisung in Kombination mit der Verwendung der affinen Transformation legt nahe, dass Sie keine Standardnavigation verwenden und versuchen, Ansichten zu verschieben und gleichzeitig Autolayout zu verwenden.
Dieser Absturz hängt mit den entgegengesetzten Einschränkungen zusammen. Ich denke, Sie wenden eine affine Transformation an und bringen daher einige Frames durcheinander. Versuchen Sie, Einschränkungskonstanten zu ändern, anstatt Transformationen zu verwenden.
quelle