Grid-Ansicht in iOS
Ich würde gerne eine grid-Ansicht in der app " mein iPhone ähnlich wie in der das iPad Fotos app. Gibt es eine Bibliothek oder ein framework für das hinzufügen dieser Art von Funktionalität (nicht-SDK)? Idealerweise würde ich gerne irgendwann entwickeln eine iPad-version der app, wo die Gitter wären 3 Elemente breit im hoch-und 4 im Querformat, aber vorerst würde ich gerne 2 Elemente breit im hoch-und 3-wide in der Landschaft.
Nur so kann ich mir vorstellen, dies zu tun ist, indem bilden von Unterklassen UITableView und eine benutzerdefinierte Zelle schafft, dass die 2 oder 3 items. Dies scheint jedoch chaotisch und ich bin sicher, dass es einen besseren Weg gibt.
Ein typisches Element wird ein Bild, label-und button - nichts kompliziertes.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie immer noch die UITableView für diese und würden Sie nicht brauchen, um eine Unterklasse es. Wie Sie sagte, alles, was Sie tun müssen ist, erstellen Ihre eigenen benutzerdefinierten Zelle, die es ist nicht kompliziert. Nicht unordentlich an alle 🙂
Für iOS 6 und höher empfehle ich UICollectionView und PSTCollectionView.
Im Jahr 2010 habe ich empfohlen, AQGridView
Ich bin mir bewusst, dieser ist sehr alt, aber ich war auf der Suche nach Antwort auf diese und testete mehrere Lösungen. Ich fand GMGridView war einer der besten, am wenigsten fehlerbehafteten Lösungen. Check it out auf https://github.com/gmoledina/GMGridView.
Einfache grid-Ansicht in der Tabelle view-Klasse erstellen "GridViewCell" und in der header-Datei hinzufügen:
in .m-Datei fügen Sie diesen code:
und wenn Sie Ihre Tabelle verwenden, neue Klasse "GridView" in Stellvertretung cellForRowAtIndexPath:
NRGridView zu sein scheint, der beste Weg, um. Sie finden es hier.
Es hat die ähnlichen Methoden wie UITableView. Die Zellen können bei Bedarf angepasst.
Ich würde empfehlen, benutzerdefinierte UITableViewCells. In iOS 5, die Sie nicht haben, um eine Unterklasse davon.
Fügen Sie einfach eine tableView zu Ihrem Projekt, fügen Sie einen Prototyp-Zellen (=benutzerdefinierte Zelle) mithilfe von Xcode für den tableView, geben Sie einen eindeutigen Bezeichner und verwenden Sie diesen Bezeichner in cellForRowAtIndexPath zu entfernen und instanziieren der benutzerdefinierten Zelle. Legen Sie dann die Zelle und wieder zurück.