Evidenzia UIButton senza più immagini
Domanda
Sono stato al seguente link:
Come evidenziare programmaticamente un UIButton?
Nelle prime due righe del loro codice ho trovato:
UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];<br>
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted];
Sembra che abbiano usato più immagini, per il loro pulsante informazioni. Ho un'applicazione con molti pulsanti e ogni pulsante ha immagini diverse che rendono la mia applicazione di dimensioni molto grandi. Se creo immagini diverse per normalState
e highlightState
la dimensione della mia app raddoppia. Quindi, ho bisogno di alcune idee come sfocatura, dimensione del pulsante o dell'immagine, o alfa giù, per la mia immagine del pulsante. Non conosco il codice e questa è la mia domanda.
Come animare / evidenziare il pulsante su toccato in iPhone?
Grazie in anticipo.
Soluzione
Innanzitutto, "molto grande per dimensioni" è una cosa relativa. È oltre il limite di 10 MB che impedisce il download attraverso la rete? Altrimenti, forse non dovresti preoccupartene.
In secondo luogo, hai provato a salvare le immagini in una forma con una migliore compressione, come JPEG?
Terzo, sono queste "immagini diverse" sostanzialmente diverso, come in "In uno stato sembra un elefante e in un altro stato sembra il Taj Mahal"? Oppure si tratta di aver bisogno di diversi "stati di elefante"? Sembra il secondo.
Una possibilità è impostare alcune proprietà del pulsante per attivare comportamenti di disegno diversi. Guarda queste due opzioni:
button.reversesTitleShadowWhenHighlighted
button.adjustsImageWhenHighlighted
o prova a variare
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
In realtà hanno fornito alcune opzioni.
Altri suggerimenti
Ok! Ho una soluzione.
Questo è molto simile al mio requisito. Sì, potrebbero esserci altre soluzioni,
trovo che è più vicino alla mia richiesta.
seleziona il tuo UIButton in vista & Amp; imposta gli attributi dei pulsanti
- > segno di spunta su - > mostra Tocca su Evidenzia.