Sunday 15 October 2017

Edgesforextendedlayout Uiviewcontroller Initwithnib


Es gibt ein paar neue Eigenschaften in iOS7, um diese Einstellungen zu steuern. KantenForExtendedLayout gibt an, welche Kanten erweitert werden sollen (links, rechts, oben, unten, alle, keine oder beliebige Kombinationen). Ausklappende untere Kante ist gleich Unter untere Balken ticken, die obere Kante entspricht unter Obere Balken ticken. ExtendedLayoutIncludesOpaqueBars gibt an, ob die Kanten automatisch unter den undurchsichtigen Balken verlängert werden sollen. Wenn Sie also diese beiden Einstellungen kombinieren, können Sie jede beliebige Kombination von Interface Builder-Ticks in Ihrem Code nachahmen. Ich habe ein Projekt, das im vergangenen Jahr gebaut wurde, und es verwendet XIBs, keine Storyboards. Die XIBs verwenden nicht Auto Layout, aber sie verwenden einige Autosizing. Ich habe ein Problem beim Ausführen mit iOS7, in dem alle Ansichten unter der Statusleiste versteckt sind. Ich verstehe vollkommen, dass dies ein neues Feature mit iOS7 ist, in dem dies zu erwarten ist. Allerdings sind alle Lösungen für die Festsetzung es nicht tun dies nicht funktionieren. Ich habe ein Bild an der Spitze der Ansicht, die immer unter der Statusleiste zeigt, und Im nicht mit Navigationsleisten oder so ähnlich. Ich habe versucht, die Aktualisierung der Y-Deltas in der XIB (sie haben keinen Einfluss auf die Ansicht), habe ich versucht, die Einstellung der KantenForExtendedLayout zu UIRectEdgeNone (nichts), und eine Menge anderer Dinge. Jedes Mal, die Statusleiste zeigt mit der Ansicht unter es versteckt, egal was ich tue. Das ist, es sei denn, ich manuell nach unten bewegen die Ansicht in der XIB, um Platz für die Statusleiste (aber die Lösung funktioniert nicht, weil es nicht rechts in iOS6, natürlich). Was ist seltsam ist, dass selbst wenn ich eine Zeile von Code zu hacken in einer View-Shift versuchen, funktioniert es nicht (wie die folgenden): Nicht, dass ich mit dieser Art von Lösung gehen würde, aber seine nur seltsam, dass es nicht funktioniert (die Nur die Zeit, die ich normalerweise sehen, dass nicht funktionieren, wenn Auto-Layout ist vorhanden, was nicht in diesem Fall). Es ist ein Design-Anforderung, dass die Statusleiste zeigt, und Im nur stumped, warum ich kann nicht die Ansicht, um unter der Statusleiste für iOS7. Ich habe jeden einzelnen Stapelüberlaufpfosten auf dem Thema, sowie Äpfelübergangsguides gelesen. Noch einmal, um zu wiederholen, ich voll und ganz verstehen, wie es funktionieren sollte und was die erwartete Lösung sollte dies, aber nichts davon scheint für dieses spezielle Projekt zu arbeiten. Ich bin ein erfahrener iOS-Entwickler, aber dieses Projekt wurde von einem anderen Team gebaut, so dass ich nicht wissen, ob theres etwas versteckt irgendwo in der XIB-Dateien, Plist oder Code, die Trumpen der oben genannten Einstellungen sein könnte. Mich bitte informieren, wenn es etwas gibt, das auf diesem betrachtet werden kann, oder mehr Informationen, die ich zur Verfügung stellen kann. Vielen Dank im Voraus gefragt, Apple sind drängen Sie auf Autolayout verwenden, um dies zu erreichen. Sie müssen eine Einschränkung für das Top-Layout-Handbuch aus der oberen Unteransicht in Ihrer Ansicht festlegen. Siehe dieses Dokument für Beispiele: Um dies ohne XIBs zu tun, müssen Sie die Einschränkung programmgesteuert hinzufügen. Äpfel docs geben ein gutes Beispiel dafür, die Ive zusammengefasst unten. Geben Sie an, dass topLayoutGuide eine Eigenschaft auf einem View-Controller ist, verwenden Sie es einfach in Ihrem Wörterbuch von variablen Bindungen. Dann richten Sie Ihre Einschränkung wie normal:

No comments:

Post a Comment