Ab iOS7 verwenden die View-Controller standardmäßig das Vollbild-Layout. Gleichzeitig haben Sie mehr Kontrolle darüber, wie es seine Ansichten ausgibt, und das ist mit diesen Eigenschaften getan: Grundsätzlich legen Sie mit dieser Eigenschaft fest, welche Seiten Ihrer Ansicht erweitert werden können, um den gesamten Bildschirm zu decken. Stellen Sie sich vor, Sie schieben einen UIViewController in einen UINavigationController. Wenn die Ansicht des View-Controllers angelegt ist, wird es gestartet, wo die Navigationsleiste endet, aber diese Eigenschaft stellt fest, welche Seiten der Ansicht (oben, links, unten, rechts) erweitert werden können, um den gesamten Bildschirm zu füllen. Lassen Sie es mit einem Beispiel sehen: Hier legen Sie den Wert von edgesForExtendedLayout nicht fest. Daher wird der Standardwert (UIRectEdgeAll) genommen, sodass die Ansicht ihr Layout erweitert, um den gesamten Bildschirm zu füllen. Dies ist das Ergebnis: Wie Sie sehen können, erstreckt sich der rote Hintergrund hinter der Navigationsleiste und der Statusleiste. Jetzt werden Sie diesen Wert auf UIRectEdgeNone setzen. So dass Sie sagen, die Ansicht-Controller nicht erweitern Sie die Ansicht auf den Bildschirm zu decken: Diese Eigenschaft wird verwendet, wenn Ihre Ansicht ein UIScrollView oder ähnliches ist, wie ein UITableView. Sie möchten, dass Ihre Tabelle anfängt, wo die Navigationsleiste endet, weil Sie den gesamten Inhalt nicht sehen, wenn nicht, aber gleichzeitig möchten Sie, dass Ihr Tisch den gesamten Bildschirm beim Scrollen abdeckt. In diesem Fall wird das Setzen von KantenForExtendedLayout auf None nicht funktionieren, da Ihre Tabelle beginnt zu scrollen, wo die Navigationsleiste endet und es wird nicht dahinter gehen. Hier ist, wo diese Eigenschaft ist praktisch, wenn Sie lassen Sie die View-Controller automatisch passen Sie die Einfügungen (Einstellung dieser Eigenschaft auf YES, auch der Standardwert) wird es Insert an der Spitze der Tabelle hinzufügen, so dass die Tabelle beginnt, wo die Navigation Bar-Enden, aber die Schriftrolle wird den gesamten Bildschirm zu decken. Das ist, wenn auf NEIN gesetzt ist: und JA (standardmäßig): In beiden Fällen blättert die Tabelle hinter der Navigationsleiste, aber im zweiten Fall (JA) wird sie unterhalb der Navigationsleiste gestartet. Dieser Wert ist nur eine Ergänzung zu den vorherigen. Wenn die Statusleiste undurchsichtig ist, werden die Ansichten nicht um die Statusleiste erweitert, es sei denn, dieser Parameter ist JA. Wenn Sie also Ihre Ansicht auf die Navigationsleiste (edgesForExtendedLayout auf UIRectEdgeAll) erweitern und der Parameter NO (Standard) ist, wird sie die Statusleiste nicht überdecken, wenn sie opak ist. Wenn etwas nicht klar ist, schreiben Sie einen Kommentar und krank Antwort darauf. Wie iOS weiß, was UIScrollView verwenden, um iOS greift die erste Unteransicht in Ihrer viewcontroller-Ansicht, so dass die eine bei Index 0, und wenn seine eine Unterklasse von UIScrollView dann die erklärten Eigenschaften an sie anwendet. Natürlich bedeutet dies, dass UITableViewController standardmäßig arbeitet (seit dem UITableView ist die erste Ansicht).Arbeiten mit dem ScrollView Diese Guides hilfreich finden Wir brauchen Hilfe von der breiteren Community, um diese Guides zu verbessern, neue Themen hinzuzufügen und die Themen up-to zu halten - Datum. Sehen Sie unsere Beitragsrichtlinien hier und unsere Themenausgabe Liste für große Möglichkeiten, um herauszuhelfen. Überprüfen Sie die gleichen Guides über unseren Standalone-Viewer für ein besseres Browser-Erlebnis und eine verbesserte Suche. Folgen Sie uns auf Twitter Codepath für den Zugriff auf weitere nützliche Android-Entwicklungsressourcen. Interessiert an ramping up auf Android schnell (nur USA) Wenn Sie ein vorhandener Ingenieur mit 2 Jahren Berufserfahrung in der Software-Entwicklung sind und ernsthaft über Ramp up bis auf Android schnell, achten Sie darauf, für unsere kostenlose Abend 8-Wochen-Android-Bootcamp gelten. Weve schulte über tausend Ingenieure von Top-Unternehmen wie Apple, Twitter, Airbnb, Uber, und viele andere nutzen dieses Programm. Der Kurs wird von Android-Experten aus der Industrie gelehrt und ist speziell für bestehende Ingenieure entwickelt. Nicht in den USA Bitte füllen Sie unser Antragsformular aus und benachrichtigen Sie, wenn Sie in Ihrer Nähe von lokalen Organisatoren betreut werden. Dieses Wiki lokal klonen Wenn eine App einen Layoutinhalt hat, der länger als die Höhe des Geräts ist und der Inhalt vertikal scrollbar sein sollte, müssen wir einen ScrollView verwenden. Um einen Inhalt vertikal scrollbar zu machen, einfach diesen Inhalt in eine ScrollView einbinden: Beachten Sie, dass ein ScrollView nur ein einzelnes untergeordnetes Element enthalten kann. Wenn Sie also mehrere Objekte scrollbar benötigen, müssen Sie diesen Inhalt wie oben gezeigt in ein Layout umwandeln. In bestimmten Situationen möchten Sie den Inhalt unter dem Ende des scrollbaren Inhaltsbereichs positionieren. Zum Beispiel für eine Konditionen, in denen Sie nur akzeptieren können, sobald Sie durch den gesamten Inhalt scrolled. In diesem Fall müssen Sie möglicherweise die android: fillViewport - Eigenschaft auf true anwenden. Lesen Sie diesen Beitrag von Romain Guy für einen detaillierten Blick auf diesen Anwendungsfall. Beachten Sie, dass ein TextView keine ScrollView benötigt und wenn Sie nur eine scrollende TextView benötigen, legen Sie einfach die scrollbars-Eigenschaft fest und wenden die richtige MovementMethod an: und dann in der Aktivität: Die TextView wird nun automatisch vertikal scrollen. In anderen Fällen wollen wir, dass Inhalt horizontal verschoben wird. In diesem Fall müssen wir die horizontale ScrollView stattdessen wie folgt verwenden: und jetzt haben Sie eine horizontal scrollende Ansicht. Das Hinzufügen eines ScrollViews in einem anderen ScrollView kann schwierig sein. Die meisten der Zeiten wird es nicht gut beenden. Sie werden am Ende einige Problemumgehungen hinzufügen. Verwenden Sie stattdessen das NestedScrollView, wie hier beschrieben. Ein Arbeitsbeispiel finden Sie hier, da dies sehr nützlich ist, wenn Sie mit CoordinatorLayout von CodePath mit viel Hilfe von der Community erstellt. Eingetragener Inhalt lizenziert unter cc-wiki mit Attribution erforderlich. Sie sind frei zu remix und Wiederverwendung, solange Sie Attribut und eine ähnliche Lizenz verwenden.
No comments:
Post a Comment