Ich versuche, einen einfachen Bildbetrachter zum Betrachten des Bildes mit voller Auflösung einer ALAssetRepresentation zu machen. Es stellt sich heraus, dass es nicht so einfach ist.Wie kann ich ein UIScrollView mit einem großen Bild erstellen, das schnell angezeigt wird (wie Photos.app)?
Mein erster Ansatz war, einfach ein großes UIImageView innerhalb des UIScrollView zu erstellen. Während das funktionierte, war es sehr langsam.
Wenn Sie die Fotos App verwenden, wird beim Tippen auf ein Bild die größere Version sofort geöffnet. Zuerst wird ein Bild mit sehr niedriger Auflösung gezeichnet. Aber in Kürze erscheint ein Bild mit höherer Auflösung. Wenn ich heranzoome, ist das Bild zuerst eine niedrigere Auflösung und dann die Auflösung.
Ich überprüfte die WWDC 2010 Keynote # 104, wo beschrieben wird, wie Photos.app funktioniert. Aber wie soll ich das umsetzen? In der Keynote verwendet die Demo vorgekachelte Bilder, etwas, das ich von einer ALAssetRepresentation einfach nicht bekommen kann. Ich habe versucht, nur die Version mit voller Auflösung zu laden und nur mit CATiledLayer zu zeichnen, und während es nicht langsam ist, um et.c zu zoomen, ist es beim Zeichnen der Kacheln viel zu langsam.
Speichert Photos.app eine niedrigere Auflösung aller Bilder irgendwo oder was ist los? Einige Hinweise darauf, was zu tun wäre, wären hilfreich.
Eigentlich ist fullScreenImage nicht schneller, da das Bild von der vollen Auflösung on the fly skaliert :) –
@EmilEriksson tun haben Sie eine Referenz für diese Aussage? Ich habe das noch nie gehört, aber es macht Sinn. – akaru