Moin zusammen,
keine Frage, sondern wieder ein Thema, um jemandem potentielles Suchen zu ersparen:
Immer mal wieder gibt es die Aufgabe, ein Bild scroll- und zoombar anzuzeigen. Der grobe Ansatz ist klar: UIImage in eine UIImageView packen, diese als Content in eine UIScrollView und dann beginnt - zumindest für mich - das Elend. Bei Device-Rotationen soll das Bild um den sichtbaren Mittelpunkt drehen, beim Herauszoomen die Positionierung stimmen, Rein- / Rauszoomen per Tap unterstützt werden ... Es wird an mir liegen, aber ich habe bisher nicht eine Implementierung hinbekommen, mit der ich wirklich zufrieden war. Der letzte Ansatz - für einen iOS QuickLook-Provider - nutzte layoutSubviews für Frame-Berechnungen, aber Rotationen sahen nie smooth aus.
Gestern hatte ich wieder diese Aufgabenstellung, diesmal für Previews im Rahmen von iOS13-Kontextmenüs und ich habe etwas intensiver recherchiert. Es gibt endlose Ansätze im Netz, aber einer wecke mein Interesse: ISVImageScrollView von Yurii Kupratsevych nutzt einen m. E. sehr eleganten Weg, die UIImageView zu skalieren und positionieren. Per KVO beobachtet er Bound-Changes, skaliert dann das Image mittels Transformation und setzt einen neuen Content-Offset. Das Ganze implementiert sich simpel und funktioniert sehr sauber. Ich habe eine entsprechende View und ihren Controller leicht modifiziert (jeder hat eben seinen Programmierstil) und mit entsprechendem Copyright-Vermerk eingebunden.
Vielleicht für viele von Euch ein alter Hut oder langweilig, aber ich bin echt neidisch, nicht auf den KVO-Ansatz gekommen zu sein ... Danke, Yurii...
Mattes
keine Frage, sondern wieder ein Thema, um jemandem potentielles Suchen zu ersparen:
Immer mal wieder gibt es die Aufgabe, ein Bild scroll- und zoombar anzuzeigen. Der grobe Ansatz ist klar: UIImage in eine UIImageView packen, diese als Content in eine UIScrollView und dann beginnt - zumindest für mich - das Elend. Bei Device-Rotationen soll das Bild um den sichtbaren Mittelpunkt drehen, beim Herauszoomen die Positionierung stimmen, Rein- / Rauszoomen per Tap unterstützt werden ... Es wird an mir liegen, aber ich habe bisher nicht eine Implementierung hinbekommen, mit der ich wirklich zufrieden war. Der letzte Ansatz - für einen iOS QuickLook-Provider - nutzte layoutSubviews für Frame-Berechnungen, aber Rotationen sahen nie smooth aus.
Gestern hatte ich wieder diese Aufgabenstellung, diesmal für Previews im Rahmen von iOS13-Kontextmenüs und ich habe etwas intensiver recherchiert. Es gibt endlose Ansätze im Netz, aber einer wecke mein Interesse: ISVImageScrollView von Yurii Kupratsevych nutzt einen m. E. sehr eleganten Weg, die UIImageView zu skalieren und positionieren. Per KVO beobachtet er Bound-Changes, skaliert dann das Image mittels Transformation und setzt einen neuen Content-Offset. Das Ganze implementiert sich simpel und funktioniert sehr sauber. Ich habe eine entsprechende View und ihren Controller leicht modifiziert (jeder hat eben seinen Programmierstil) und mit entsprechendem Copyright-Vermerk eingebunden.
Vielleicht für viele von Euch ein alter Hut oder langweilig, aber ich bin echt neidisch, nicht auf den KVO-Ansatz gekommen zu sein ... Danke, Yurii...
Mattes
Diese Seite bleibt aus technischen Gründen unbedruckt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()