2012-06-16 4 views
5

Ich entwerfe eine benutzerdefinierte Schaltfläche mit der erfordert, dass ich eine UIButton über eine UIImageView überlagern. Die UIImageView verwendet ein [UIImage stretchableImageWithLeftCapWidth:topCapHeight:] Bild und die UIButton hat eine Hintergrundfarbe mit einem Musterbild [UIColor colorWithPatternImage:[UIImage imageNamed:@"buttonPattern.png"]]Retina-Anzeige VS normale Anzeige Farbdifferenz

Das Problem, das ich bin vor, dass auf dem iPhone 4, die Bilder aus den UIButton und den UIImageView leicht unterschiedlichen Farben zu haben scheinen, obwohl sie sollten Spiel. Das gleiche auf einem iPhone 3GS zu testen, zeigt normale Ergebnisse ohne den Farbunterschied.

Dieses Bild zeigt den Unterschied:

enter image description here

, wie Sie es sieht gut aus auf dem 3GS sehen. Auf dem Retina Display können Sie den Farbunterschied deutlich erkennen. Ich habe sogar versucht, die Bilder mit niedriger Auflösung (aus dem 3GS) auf dem Retina-Display zu verwenden, die Farben zeigten immer noch anders. Ist das ein Fehler in Retina-Display-Geräten? Hat jemand schon einmal mit diesem Problem zu tun gehabt?

+0

Haben Sie zwei unterschiedliche Bilder für die stretchableImage? Und wenn ja, ist das @ 2x genau 2x größer als das andere? –

+0

ja das '@ 2x' Bild ist genau 2x größer. Ich habe auch versucht, die @ 2x-Bilder zu entfernen und die regulären zu verwenden, um zu sehen, was passiert. Es hat es nicht behoben. – KDaker

+1

Wie hast du alle verschiedenen Bilder erstellt? Haben Sie Photoshop (oder ein anderes Adobe-Programm) verwendet? Haben Sie das Farbmanagement deaktiviert? –

Antwort

1

Stellen Sie sicher, dass keine Ihrer Bilddateien über ein eingebettetes Farbprofil verfügt. Dies kann schwierig sein. Für Adobe-Software, diese Seite ist hilfreich:

http://bjango.com/articles/photoshop/

+0

Eher als Retina vs. Nicht-Retina, behandeln vielleicht verschiedene iOS-Versionen Farbprofile unterschiedlich. Es passiert viel mit Webbrowsern! –