Stiamo costruendo un'app iOS che utilizza parzialmente lo UIWebView
s per rendere alcuni elementi dell'interfaccia utente. Ho notato che i colori definiti nello Storyboard sono resi in modo diverso dai colori con gli stessi valori nella visualizzazione Web. La seguente schermata mostra tre colori di esempio sullo storyboard e nell'emulatore: #00C2F0
, #00843C
e #FF008F
.iOS: colori definiti in Interface Builder diversi dai colori in Web View
Le piazze di sinistra mostrano ogni colore reso come CSS background-color
all'interno di un UIWebView
, la piazza a destra mostra il colore assegnato da sfondo ad un UIView
direttamente tramite Interface Builder.
Quando prendo una schermata e misurare i valori di colore in Photoshop, il colore mostrato nella UIWebView
è esattamente come definito (cioè esattamente corrispondenti valori di colore esadecimali sopra indicati), mentre il colore mostrato attraverso la UIView
viene spostato.
Ho letto parecchi post su colori "sbagliate" su iOS, che spiegare questo "problema" per la gestione del colore con l'obiettivo di avere un aspetto visivo uniforme su tutti i dispositivi (ad esempio here o here). Anche se questo suona totalmente ragionevole, non spiega il rendering incoerente attraverso diversi controlli.
C'è qualcosa che posso fare per ottenere colori di corrispondenza tra viste native iOS e colori resi all'interno di uno UIWebView
?
Per me avevo due UIViewControllers in uno storyboard in cui il colore di sfondo aveva lo stesso codice, ma sembrava visivamente diverso. Avevo studiato l'opacità e l'alfa ... e sono rimasto bloccato. Questo lo risolse. Non sono sicuro di come si sono messi in modo diverso in primo luogo. – davew
Penso che il dispositivo RGB funzioni meglio. Le app come Color Picker recuperano il valore come definito nello storyboard xcode. –