Ich habe Bilder für die Schaltflächenzustände Normal, Hervorgehoben und Ausgewählt festgelegt. Wenn sich die Schaltfläche jedoch im ausgewählten Zustand befindet und ich sie drücke / hervorhebe, wird mein hervorgehobenes Bild nicht angezeigt, sondern nur ein graues Bild. Ist es möglich, ein Bild für den hervorgehobenen Zustand festzulegen, wenn die Schaltfläche ausgewählt ist?
Mein Code:
[button setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
wenn ich es tue:
[button setSelected:YES];
und drücken Sie die Taste, das Bild "press.png" wird nicht ausgewählt.
button.adjustsImageWhenHighlighted = NO;
zuerst an.Antworten:
Ich habe die Lösung gefunden: Additionszeile hinzufügen
quelle
Sie können dies im Interface Builder tun.
Wählen
UIButton
Sie das aus, das Sie einstellen möchten,IB
und gehen Sie dann zuattributes inspector
.In den Screenshots verwende ich einen benutzerdefinierten Schaltflächentyp, aber das spielt keine Rolle.
quelle
Swift 3
Um das Hintergrundbild einzustellen, können wir verwenden
setBackgroundImage(_:for:)
Swift 2.x.
quelle
setImage
)Ich denke, die meisten Poster hier verfehlen den Punkt völlig. Ich hatte das gleiche Problem. Die ursprüngliche Frage betraf den hervorgehobenen Status einer ausgewählten Schaltfläche (KOMBINIEREN BEIDER STAATEN), die in IB nicht eingestellt werden kann und bei einigen Verdunkelungen auf den Standardstatus zurückfällt. Nur funktionierende Lösung als ein Beitrag erwähnt:
quelle
Wenn Sie einen guten Grund dafür haben, reicht dies aus
Fügen Sie diese Ziele hinzu:
quelle
In Swift 3.x können Sie das hervorgehobene Bild festlegen, wenn die Schaltfläche folgendermaßen ausgewählt ist:
quelle
In Kürze können Sie Folgendes tun:
quelle
Korrigieren Sie mich, wenn ich falsch liege. Indem ich es tue
Sie ändern eindeutig den Status der Schaltflächen wie ausgewählt. Nach dem von Ihnen angegebenen Code wird das Bild natürlich für den ausgewählten Status in Ihrem Fall geprüft
quelle
Wenn sich jemand fragt, wie das in Swift funktioniert, ist hier meine Lösung:
quelle
Swift 3+
ODER
Dies bedeutet, dass die Schaltfläche im aktuellen
selected
Status angezeigt wird. Wenn Sie sie berühren, wird derhighlight
Status angezeigt.quelle
Ich hatte Probleme beim Einstellen
imageView.highlighted = NO;
(die Einstellung JA funktionierte ordnungsgemäß und das Bild wurde in das hervorgehobene geändert).Die Lösung rief an
[imageView setHighlighted:NO];
Alles hat richtig funktioniert.
quelle
Woher möchten Sie anrufen?
Die Methode:
Dank an Jorge, aber ich habe es ein bisschen verbessert, um die voll funktionsfähige Lösung zu erhalten
quelle
Xamarin C #
Bitweise ODER zu tun funktioniert aus irgendeinem Grund nicht
Folgendes funktioniert
quelle
Verwenden Sie diese UIButton-Unterklasse, wenn Sie den hervorgehobenen Farbton benötigen, den das Betriebssystem standardmäßig bereitstellt, wenn Sie auf eine benutzerdefinierte Schaltfläche für den ausgewählten Status tippen und diese gedrückt halten. Geschrieben in Swift 5:
quelle