2011-01-10 6 views
10

Ich habe eine 300 x 300 große UIImageView in meiner App, die meine Bilder sehr schön anzeigt. Meine Bilder sind alle 600 x 600 oder größer und UIImageView verkleinert sie einfach für mich.Retina/Nicht-Retina Bilder in UIImageView

Meine Frage ist dies: Da diese Bilder im Wesentlichen alle Retina-Bilder sowieso sind (d. H. Doppelt so groß wie die erforderliche Pixelgröße) gibt es keinen Sinn, eine Retina und eine Nicht-Retina-Version des gleichen Bildes zu machen? Wird das nicht meine App aufgrund der zusätzlichen Bilddateien vergrößern?

Was ist los damit, das Gerät einfach die Bilder herunterskalieren zu lassen? Ich bin sicher, es gibt eine sehr gute Antwort, also würde ich gerne wissen, was es ist!

Vielen Dank für Ihren Rat.

Antwort

3

Für unsere Apps verwenden wir eine Kombination der @ 2x Bilder und tun, was Sie vorgeschlagen haben, Scaling. Wir verwenden die @ 2x-Bilder für Balkenknöpfe, Icons usw. Aber für UIImageViews verwenden wir oft nur die Skalierung. Hier

ist ein Artikel, die beide schon sagt: http://mobile.tutsplus.com/tutorials/iphone/preparing-your-iphone-app-for-higher-resolutions/

Ignorieren Sie den Teil über das iPad nicht @ 2x Unterstützung (dh alte Information) aber der Artikel ist nach wie vor gut.

Es kann einen Leistungseinbruch dafür geben, aber für die meisten Apps würde ich sagen, dass dies vernachlässigbar ist. Die Einsparungen bei der Dateigröße machen manchmal die Skalierung zur einzigen Option.

6

Die Skalierung der Bilder ist ein unnötiger Overhead. Stellen Sie einfach zwei Versionen davon bereit.

+3

Auch die Qualität der herunterskalierten Bilder sind nicht so gut wie es selbst tun. – jowie

+0

Wenn Sie nur ein paar Bilder verwenden, sollten Sie wahrscheinlich zwei Bilder zur Verfügung stellen. Wenn ich, wie in meinem Fall, Hunderte von großen Bildern habe, würde das meine App-Größe viel zu groß machen. Skalierung ist eine bessere Lösung für mich. Ich finde keinen Unterschied in der Qualität mit den skalierten Bildern, aber sie sind alle Fotos. Ebenso gibt es keine Verzögerung bei der Anzeige von ihnen. – JScarry