2012-06-16 4 views
5

Sto progettando un pulsante personalizzato che richiede di sovrapporre uno UIButton a uno UIImageView. L'UIImageView utilizza un'immagine di [UIImage stretchableImageWithLeftCapWidth:topCapHeight:] ed il UIButton ha un colore di sfondo con un reticolo con [UIColor colorWithPatternImage:[UIImage imageNamed:@"buttonPattern.png"]]Display retina VS normale differenza colori display

Il problema che sto affrontando è che su iPhone 4, le immagini dalla UIButton e la UIImageView sembrano avere colori leggermente diversi anche se dovrebbero incontro. Testare la stessa cosa su un iPhone 3GS mostra risultati normali senza la differenza di colore.

Questa immagine mostra la differenza:

enter image description here

come si può vedere si guarda bene sul 3GS. Sul display retina è possibile vedere chiaramente la differenza di colore. Ho anche provato a usare le immagini a bassa risoluzione (dal 3GS) sul display retina, i colori stavano ancora mostrando in modo diverso. si tratta di un bug nei dispositivi di visualizzazione della retina? qualcuno ha affrontato questo problema prima?

+0

Ti due immagini diverse per la stretchableImage? E se è così, è il 2x uno esattamente 2x più grande dell'altro? –

+0

sì l'immagine '@ 2x' è esattamente 2x più grande. Ho anche provato a rimuovere le immagini "@ 2x" e ad usare quelle normali solo per vedere cosa succede. Non ha risolto il problema. – KDaker

+1

Come hai creato tutte le diverse immagini? Hai usato Photoshop (o qualsiasi altro programma Adobe)? Hai disabilitato la gestione del colore? –

risposta

1

Assicurarsi che nessuno dei file di immagine abbia un profilo colore incorporato. Questo può essere complicato. Per il software Adobe, questa pagina è utile:

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

+0

Piuttosto che retina rispetto a non retina, forse diverse versioni di iOS trattano i profili di colore in modo diverso. Succede molto con i browser Web! –