2013-12-10 8 views
5

Ho una cella personalizzata con alcuni UIButtons al suo interno. Ho creato azioni mirate in questo modo sui pulsanti:UIButton default tap fade animation mancante nella cella personalizzata UITableViewController

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

Le azioni funzionano molto bene anche se non vedo iOS predefinite dissolvenza animazione sulle UIButtons? C'è qualcosa che devo abilitare per ottenere anche quelli - pensavo fossero standard quando si utilizza un UIButton da IB?

+1

mostrare la vostra parte di inizializzazione customLocationButton – manujmv

+0

Non inizializzo. Non penso che avresti dovuto inizializzare usando IB? –

+1

Basta usare il tipo di ** UIButtonTypeSystem ** per il tuo ** customLocationButton ** .. Spero che il ** customLocationButton ** come di tipo personalizzato. –

risposta

0

Nel suo XIB all'interno attributo ispettore selezionare il pulsante e poi dentro tipo di pulsante si otterrà seguire l'opzione è possibile selezionare e cambiare il vostro look pulsante e sentire di conseguenza: -

enter image description here

+0

È impostato su sistema. –

+0

Sì nel sistema è necessario impostare, ma se si desidera altre animazioni, è necessario utilizzare CABasicAnimation –

+0

Se si trascina un pulsante e lo si posiziona direttamente nella visualizzazione predefinita di un VC, al tocco viene visualizzata un'animazione di dissolvenza di base. Questo è senza impostare alcuna animazione personalizzata. Quando utilizzo un pulsante in una cella personalizzata, devo aggiungere manualmente il livello CABasicAnimation? –

0

Un'altra cosa che puoi fare è:

Swift:

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

avuto lo stesso pro blema. Potrei ottenere il pulsante per cambiare il colore in evidenza con setTitleColor:forState:, ma non si è attenuato dallo stato di evidenziazione a quello normale come gli altri pulsanti di sistema.

Risulta che è perché il mio pulsante era di tipo UIButtonTypeCustom. Passare a UIButtonTypeSystem risolto per me. Si prega di notare che sto eseguendo su iOS9.

Ecco un frammento (Swift) che assume self è un UIView o sottoclasse:

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