2009-06-14 7 views
3

Die Info-Schaltfläche in Interface Builder zeigt mir, dass es Dutzende von "Illegal Geometry" Warnungen gibt, jede mit dem Problem "Diese Ansicht überlappt eine ihrer Geschwister." Ist das etwas beunruhigend? Wird die App von Apple akzeptiert? Die Fehler treten auf, weil ich PNGs überlagere, wenn ich die Schnittstelle mache."Illegal Geometry" Warnungen in Interface Builder ... signifikant?

Antwort

5

Es sollte in Ordnung sein. Ich habe eine App mit den gleichen Warnungen, die ohne Probleme angenommen wurde.

Das Problem ist, dass überlappende Geschwister nicht zulässig sind, wenn die Ansichten nicht von Core Animation-Layern (Standard auf dem Desktop) unterstützt werden. Auf dem iPhone werden alle UIViews von CoreAnimation-Layern unterstützt, sodass die Überlappung akzeptabel ist. Wie in der documentation for UIViews (2. Absatz, letzter Satz) angegeben: "Geschwisteransichten können ohne Probleme überlappen, so dass komplexe Ansicht Platzierung."

2

Kein Problem, solange Sie wissen, dass es passiert.

Natürlich gibt es wahrscheinlich bessere Möglichkeiten, Dinge zu tun. Wenn sich Ihre Bilder nicht bewegen, könnte es sinnvoller sein, sie zu einem größeren Bild zusammenzusetzen und dieses zu verwenden. Wenn sie sich bewegen, ist es sinnvoller, sie nur programmatisch hinzuzufügen.

Aber das ist Ihr Code, und Sie werden eine bessere Vorstellung davon haben, was Sie erwarten, als ich es tun werde.

1

Wenn die Ansichten nicht undurchsichtig sind, denken Sie daran, dass Sie sie zur Laufzeit zusammen kopieren, was zu einer Leistungsstrafe führen wird. Wenn diese in einer Ansicht erscheinen, die geblättert werden muss, würde ich sicherstellen wollen, dass sie undurchsichtig oder nicht überlappend sind, sonst würde ich mir nicht zu viele Sorgen machen.