AutoLayout: UIView innerhalb von UIView hat falsche Rahmen

Arbeite ich mit AutoLayout im Storyboard, und alles schien in Ordnung. Allerdings, wenn ich eine UIView in einem anderen und gelten all die Einschränkungen, die ich möchte zu dem container und seinen Kindern, merke ich, dass der Rahmen falsch ist in viewDidLayoutSubviews:. Anstatt den Rahmen würde ich erwarten, werden berechnet aufgrund meiner Einschränkungen, es ist etwas eklig mit großem Rahmen (wenn auch mit der richtigen Herkunft). Zum Beispiel, anstatt ein frame {{26, 10}, {444, 10}} bekomme ich so etwas wie {{0, 0}, {320, 568}}.

Seltsam genug, dieser nur passiert mit dem Kind UIView, wenn ich situieren es in einem anderen UIView, die hat einige Einschränkungen in Bezug auf seine superview (was ist die view-controller-view). Wie ich unter dem Eindruck, dass ich erwarte, dass meine Ansichten richtig verlegt nach meinen Einschränkungen in der Methode viewDidLayoutSubviews: ich bin verwirrt, warum dies geschieht.

Bin ich irgendwelche falsche Annahmen? Ich würde es schätzen, wenn jemand helfen könnte mich in die richtige Richtung. Danke!

Hinweis: Dieses problem ist komplett behoben, wenn ich meine korrekte-frame-abhängige setup in viewDidAppear:, aber das ist ein etwas unbefriedigender workaround für mich.

  • Bitte prüfen :- stackoverflow.com/a/26859831/2522457
  • Danke für Ihre Antwort. Ich bin eigentlich mit AutoLayout, aber so dass Sie es deaktivieren würde leider bei mir nicht funktioniert. Habe ich erwähnt, dass ich angewiesen bin auf eine korrekte frame an diesem Punkt, und das ist einfach, weil ich Sie ein paar einfache CAShapeLayer Zeichnungen innerhalb dieser Ansicht, deren frame der Ebene, erfordert die superview bounds-Eigenschaft korrekt zu sein
InformationsquelleAutor hellfireboy | 2015-02-19
Schreibe einen Kommentar