Hi Leute,
heute will ich Euch mein Projekt vorstellen, an dem ich in den letzten Wochen und Monaten gearbeitet habe:
MMFlowView, eine Opensource Implementation des CoverFlows Effektes im Stile des IKImageBrowsers. Hier ein paar Stichworte:
- komplette Neuimplementation unter ausschließlicher Verwendung von public APIS
- effizientes Caching der Bilder (asynchron)
- Unterstützung aller Formate die auch IKImageBrowserView bietet (einschließlich Film- und QuartzComposerCompositon-Vorschau)
- Drag&Drop
- Bindings-Unterstützung
- Datasource und Delegate ähnlich wie IKImageBrowserDatasource und IKImageBrowserDelegate
- Accessibility-Unterstützung (VoiceOver)
- CoreAnimation für die Darstellung des CoverFlow Effektes
- QuickLook-Unterstützung
- FreeBSD 2-clause Lizenz
- sehr effizient (tausende Bilder sollten möglich sein)
Zwar gibt es etliche Versionen im Netz, aber die haben z.T. andere Ausrichtungen bzw. sind nicht Feature-komplett oder verwenden private APIs (ImageKit bringt ein solches Control als private-API mit). Ich verwende zur Darstellung der Bilder CALayer anstatt regulärer views (anders als z.B. iCaroussel). Diese Entscheidung bedingte, dass ich Accessibility-Unterstützung selbst implementieren musste, belohnt wurde ich aber durch besseres Laufzeitverhalten. Die Bilder werden vom Control gecacht und asynchron geladen.
Ich habe versucht, die Komponente so wiederverwendbar wie möglich zu machen, d.h. wenn Ihr mit IKImageBrowserView vertraut seid, müsstet Ihr recht fix mit MMFlowView klar kommen. Ich werde in den nächsten Tagen einen Blogeintrag veröffentlichen, der sich im Detail mit der Implementation befasst, vorerst lade ich den source hier nur als zip-File hoch und möchte Euch bitten, das angehängte Demoprojekt bei Euch zu testen. In Kürze veröffentliche den source dann auch auf github. Vorausgesetzt wird Mac OS 10.6, entwickelt habe ich unter Lion.
Danke für Eure Zeit und viel Spaß damit, ich freue mich über Kritik und Anregungen,
Markus
heute will ich Euch mein Projekt vorstellen, an dem ich in den letzten Wochen und Monaten gearbeitet habe:
MMFlowView, eine Opensource Implementation des CoverFlows Effektes im Stile des IKImageBrowsers. Hier ein paar Stichworte:
- komplette Neuimplementation unter ausschließlicher Verwendung von public APIS
- effizientes Caching der Bilder (asynchron)
- Unterstützung aller Formate die auch IKImageBrowserView bietet (einschließlich Film- und QuartzComposerCompositon-Vorschau)
- Drag&Drop
- Bindings-Unterstützung
- Datasource und Delegate ähnlich wie IKImageBrowserDatasource und IKImageBrowserDelegate
- Accessibility-Unterstützung (VoiceOver)
- CoreAnimation für die Darstellung des CoverFlow Effektes
- QuickLook-Unterstützung
- FreeBSD 2-clause Lizenz
- sehr effizient (tausende Bilder sollten möglich sein)
Zwar gibt es etliche Versionen im Netz, aber die haben z.T. andere Ausrichtungen bzw. sind nicht Feature-komplett oder verwenden private APIs (ImageKit bringt ein solches Control als private-API mit). Ich verwende zur Darstellung der Bilder CALayer anstatt regulärer views (anders als z.B. iCaroussel). Diese Entscheidung bedingte, dass ich Accessibility-Unterstützung selbst implementieren musste, belohnt wurde ich aber durch besseres Laufzeitverhalten. Die Bilder werden vom Control gecacht und asynchron geladen.
Ich habe versucht, die Komponente so wiederverwendbar wie möglich zu machen, d.h. wenn Ihr mit IKImageBrowserView vertraut seid, müsstet Ihr recht fix mit MMFlowView klar kommen. Ich werde in den nächsten Tagen einen Blogeintrag veröffentlichen, der sich im Detail mit der Implementation befasst, vorerst lade ich den source hier nur als zip-File hoch und möchte Euch bitten, das angehängte Demoprojekt bei Euch zu testen. In Kürze veröffentliche den source dann auch auf github. Vorausgesetzt wird Mac OS 10.6, entwickelt habe ich unter Lion.
Danke für Eure Zeit und viel Spaß damit, ich freue mich über Kritik und Anregungen,
Markus
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Markus Müller ()