Ich möchte einen "Selektor" -Bildschirm für Dokumente erstellen, der den Seiten und Zahlen auf dem iPad / iPhone ähnelt:
Ich komme aus einem WPF-Hintergrund und habe einige iOS-Erfahrung. Nichtsdestotrotz suche ich nach einem guten Ansatz, etwas wie die Kachel-basierte Schnittstelle zu erstellen, die Apple zum Öffnen von Dokumenten in Pages verwendet.
Ich bin nicht mit der Ordneranimation beschäftigt.
Was ist der beste Weg, sich dem Erstellen von nur der Kachelschnittstelle zu nähern? Ich würde mir vorstellen, dass ich eine Art von Ansicht erstellen würde, die in UIScrollView
liegt - aber es ist die Natur dieser Teilansicht, über die ich ein wenig verwirrt bin. Hat iOS irgendwelche Wrap-Panel- oder Raster-ähnlichen Steuerelemente, könnte ich einen Satz von Kacheln (d. H. Dokumente) in?
Was denkt ihr?
Ich kenne keine Klassen von Drittanbietern, um das für Sie zu regeln, aber es könnte einige da draußen geben.
Die Basisstruktur wird eine UIScrollView sein, die eine Reihe von Ansichten enthält, die jeweils eine Zelle im Gitter darstellen. Sie legen die contentSize
der Bildansicht basierend auf der Gesamtzahl der Kacheln fest. Dann erstellen Sie Kachelansichten bei Bedarf und platzieren sie in der Bildlaufansicht.
Das delegierte Objekt der Bildlaufansicht ist für die Überwachung der Bildlaufposition, das Zurückstellen von Kachelansichten, wenn diese sichtbar werden, und (optional) das Entfernen von Kachelansichten, die sich aus der Ansicht heraus bewegen, zuständig. Dies ist im Grunde, wie UITableView funktioniert: Es gibt nur etwa sechs Instanzen von UITableViewCell zu einem bestimmten Zeitpunkt, sie werden recycelt, während Sie die Ansicht auf und ab scrollen. (Stellen Sie sich einen Zug vor, wo jemand am hinteren Ende die Schienen herauszieht und sie vorne an jemanden weitergibt, der sie vor dem Zug absetzt. Soweit der Zug weiß, fahren die Schienen meilenweit weiter.)
Wenn Sie alle Ansichten selbst platzieren müssen, nehmen Sie sich etwas Zeit, um die CGRect-Methodenfamilie kennenzulernen, einschließlich CGRectDivide
. Sie werden nützlich sein, um die Ansichten auszulegen und auch zu berechnen, was sichtbar ist und was nicht.
Es gibt einige Third-Party-Klassen / Bibliotheken, die Sie bekommen können, um diese Funktionalität zu erzeugen, AQGridView kommt Ihnen in den Sinn. Dafür gibt es keine standardmäßigen einfachen Klassen.
Wenn ich diese Art von Implementierung entwickeln sollte, würde ich UITableViewController ableiten. Erweitern Sie es, um Spalten zu haben. Dann Unterklasse ein UITableViewCell, um das Bild anzuzeigen. Auf diese Weise wäre der gesamte Container-Code und alles bereits vorhanden und Sie müssen es nur an Ihre Bedürfnisse anpassen.
Tags und Links ios uiscrollview user-experience