2009-08-04 16 views
0

Ich war auf den folgenden Link:Highlight UIButton ohne mehrere Bilder

How to programatically highlight a UIButton?

In ersten zwei Zeilen des Codes ich gefunden:

UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];<br> 
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted]; 

Es scheint, dass sie mehrere Bilder verwendet haben , für ihren InfoButton. Ich habe eine Anwendung mit vielen Tasten, und jede Taste hat unterschiedliche Bilder, was meine Anwendung sehr groß macht. Wenn ich verschiedene Bilder für normalState und highlightedState mache, geht meine App-Größe doppelt. Also, ich brauche einige Ideen wie Unschärfe, oder Größe von Button oder Bild, oder Alpha down, für meine Schaltfläche Bild. Ich kenne den Code nicht und das ist meine Frage.

Wie animiert/markieren Sie die Schaltfläche auf iPhone angetippt?

Vielen Dank im Voraus.

Antwort

3

Erstens, "sehr groß" ist eine relative Sache. Überschreitet die 10-MB-Grenze den Download über das Netzwerk? Wenn nicht, solltest du dir vielleicht keine Sorgen machen.

Zweitens haben Sie versucht, die Bilder in einer Form mit besserer Komprimierung wie JPEG zu speichern?

Drittens sind diese "unterschiedlichen Bilder" wesentlich anders, als in "In einem Zustand sieht es wie ein Elefant aus und in einem anderen Zustand sieht es wie das Taj Mahal aus"? Oder geht es darum, verschiedene "Elefantenstaaten" zu brauchen? Es klingt wie letzteres.

Eine Möglichkeit besteht darin, einige Eigenschaften der Schaltfläche festzulegen, um ein unterschiedliches Zeichenverhalten zu aktivieren. Betrachten Sie diese zwei Möglichkeiten:

button.reversesTitleShadowWhenHighlighted 
button.adjustsImageWhenHighlighted 

oder versuchen

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state; 

Sie haben unterschiedliche eigentlich ganz wenige Optionen zur Verfügung gestellt.

1

Ok! Ich habe eine Lösung.

Das ist meiner Anforderung sehr ähnlich. Ja, möglicherweise gibt es andere Lösungen,

Ich finde, was näher an meiner Anfrage ist.

wählen Sie Ihre UIButton im Hinblick & Set-Taste Attribute

-> Häkchen -> zeigt Berühren Sie auf Highlight.