UIButton setTitleColor und setImage nicht funktioniert
Ich bin mit dem StoryBoard-feature für mein iPhone Projekt. In das storyboard, ich habe einen view-controller mit einer Tabellenansicht mit Prototyp-Zellen. Im inneren der Prototyp der Zelle, ich habe einen UIButton (abgerundetes Rechteck) angeschlossen an ein untergeordnetes UIButton Klasse. Der tableview bekommt seine Daten aus einem array, und die Daten werden gedruckt in cellForRowAtIndexPath.
Innen cellForRowAtIndexPath ich bedingt ändern Sie die Zelle Auftritt. Dies ist, wenn ich start Probleme bekommt. Ich bin in der Lage, erfolgreich ändern Sie den text der Schaltfläche. Jedoch, wenn ich versuche, ändern Sie das Bild der Schaltfläche, mit:
[cell.myButton setImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal];
wird das Bild geändert, aber der text verschwindet.
Wenn ich Versuch, den text zu ändern die Farbe der Schaltfläche, mit:
[cell.myButton setTitleColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.77] forState:UIControlStateNormal]
Nichts passiert überhaupt. Die Farbe bleibt die gleiche (es sei denn, ich versuche auch, um das Bild zu ändern, in welchem Fall es vollständig verschwindet).
Ich ahne, ich mache etwas grundlegend falsch hier-haben Sie irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden
ändern Sie Bild mit text Links
verwenden
um die Textfarbe zu ändern
Definieren myButton als unten und überprüfen Sie.Dies kann der Fehler in Ihrem code.Der code ist:
Dies ist neu editierte Teil:
Dies ist der Weg, um verschiedene Eigenschaften zu einer Benutzerdefinierten Schaltfläche...findest Du auch, dass setBackgroudimage und setTitleColor Eigenschaften hier...
Thank u..
Ich denke, was Sie wollen, ist zu ändern Sie Ihre Schaltfläche hintergrund:
Ihren text verschwindet, weil Sie die Bild-auf-Taste Vorderseite Taste " Haupt-Bild.
Müssen Sie die Schaltfläche Hintergrundbild, so dass Sie Ihren text sichtbar sein würde, wie das Bild gezeichnet werden, auf der Rückseite Ihrer UIButton Kontext.
So ersetzen Sie einfach die obige Zeile code :