Ho cercato di replicare il gradiente da UINavigationBar
da utilizzare come gradiente sugli oggetti di sottoclasse personalizzati UIButton
nella stessa vista.Come posso replicare i colori del gradiente di UINavigationBar?
Tuttavia, non riesco a capire come vengono derivati i colori? Cioè, si specifica solo un colore per impostare il colore di sfondo di - ma crea un gradiente gradevole con almeno 4 colori?
Mi interessano solo i colori "interni" e quelli inferiori, solo all'interno del bordo 1px attorno alla barra ... i colori esterni "bordo" appaiono in effetti diversi.
EDIT - 1
Dopo ulteriori ricerche, sembra che il HSB (invece del RBG come primo pensiero) i valori sono manipolati per ottenere questi colori differenti.
V'è anche un metodo comodo sulla UIColor
per ottenere i valori HSB, che dovrebbe essere utile:
getHue:saturation:brightness:alpha:
Riferimenti utili trovato finora
Programmatically Lighten a Color
From the book Fundamentals of Interactive Computer Graphics
EDIT - 2
Nel caso in cui non erano a conoscenza che è possibile impostare un gradiente per uno sfondo su un UIButton
di programmazione, ecco alcuni riferimenti su come fare, quali:
FUN WITH UIBUTTONS AND CORE ANIMATION LAYERS
Five Tips for Creating Stylish UIButtons (kudos to @ cdo per fornire questo collegamento)
EDIT - 3
Ho messo insieme un foglio di calcolo che mostra la i colori "interni" gradiente originale e (trascurando la maggior parte dei colori esterni) in valori HSB su UINavigationBar
e il suo corrispondente pulsante "indietro" (titoli sono irrilevanti e sempre visualizzati in bianco).
Ecco un link al documento Google con le informazioni che ho raccolto per alcuni colori a campione:
https://docs.google.com/spreadsheet/ccc?key=0AnKVtzkNS9scdGVRN01pa1NQcC1hdThNbEVzQU8wRlE&usp=sharing
Nota: questi valori sono stati trovati salvando uno screenshot con la retina, 3.5" iPhone Simulator (Xcode versione 4.6) per iOS 6.1 e distorsione dei valori HSB con PhotoShop.
BOUNTY CRITERI DI AGGIUDICAZIONE
Ho aperto una taglia su questo problema per portare più l'esposizione ad esso e si spera ottenere una buona risposta. La risposta che sto cercando:
Fornire un metodo di calcolo/strettamente approssimativo (nella maggior parte dei casi) dei valori RGB o HSB dei colori del gradiente "inner top" e "bottom bottom" (vedere foglio di calcolo) creati dopo impostazione di tintColor
su UINavigationBar
.
Punti bonus assegnati (oltre l'offerta di taglie iniziale) se si fornisce anche un metodo per calcolare i colori sfumati "superiore interno" e "fondo interno" sul pulsante "indietro" (che è simile alla barra di navigazione, ma io hai trovato questi colori leggermente "più scuri" di solito)?
troppo tardi per la generosità, ma si spera che qualcuno troverà la mia risposta utile in ogni caso ... – danh