2013-12-10 10 views
5

Ich habe eine benutzerdefinierte Zelle mit ein paar UIButtons drin. Ich habe wie so auf den Tasten Ziel Aktionen erstellt:UIButton Standard tap Fade Animation fehlt in UITableViewController benutzerdefinierte Zelle

[cell.customLocationButton addTarget:self action:@selector(customLocationButtonTap:) forControlEvents:UIControlEventTouchUpInside]; 

Die Aktionen große Arbeit, obwohl ich sehe nicht die Standard-iOS Animation verblasst auf dem UIButtons? Gibt es etwas, das ich aktivieren muss, um diese auch zu bekommen? Ich dachte, dass sie Standard sind, wenn sie ein UIButton von IB benutzen?

+1

zeigen Sie Ihre customLocationButton Initialisierung Teil – manujmv

+0

ich initialisieren nicht. Ich glaube nicht, dass du initialisieren musstest, wenn du IB benutzt? –

+1

Verwenden Sie einfach den Typ von ** UIButtonTypeSystem ** für Ihren ** customLocationButton **. Ich hoffe, dass der ** customLocationButton ** als benutzerdefinierten Typ. –

Antwort

0

In Ihrem XIB innerhalb Attribut Inspektor Ihre Schaltfläche auswählen und dann in Knopfart werden Sie Option erhalten folgen Sie auswählen können und Ihre Schaltfläche Aussehen der Fan entsprechend: -

enter image description here

+0

eingestellt, das auf System eingestellt ist. –

+0

Ja im System müssen Sie einstellen, aber wenn Sie einige andere Animationen wollen, dann müssen Sie CABasicAnimation verwenden –

+0

Wenn ich eine Schaltfläche ziehe und direkt in der Standardansicht eines VC platziere, bekomme ich eine einfache Überblendanimation durch Antippen. Dies ist ohne Einrichten einer benutzerdefinierten Animation. Wenn ich eine Schaltfläche in einer benutzerdefinierten Zelle verwende - muss ich dann die CABasicAnimation Ebene manuell hinzufügen? –

0

Eine andere Sache, die Sie tun können ist:

Swift:

button.showsTouchWhenHighlighted = true 
button.setTitleColor(UIColor.blueColor(), forState: .Normal) 
button.setTitleColor(UIColor.lightGrayColor(), forState: .Selected) 
3

Hatte das gleiche pro bluten. Ich könnte die Taste zum Ändern der Farbe bei der Hervorhebung mit setTitleColor:forState: bekommen, aber es verblasste nicht vom markierten zum normalen Zustand wie die anderen Systemtasten.

Stellt sich heraus, dass meine Taste vom Typ UIButtonTypeCustom war. Das Umschalten auf UIButtonTypeSystem löste es für mich. Bitte beachten Sie, dass ich dies auf iOS9 ausführe.

Hier ist ein Ausschnitt (Swift), die self ist eine UIView oder Unterklasse übernimmt:

let button = UIButton(type: .System) 
button.setTitle("Title", forState: .Normal) 
button.sizeToFit() // Sizes the button frame based on the title. 
addSubview(button) 
Verwandte Themen