2010-11-08 9 views
5

Ho un pulsante freccia che voglio mantenere piccolo ma voglio che l'area tattile attorno ad esso sia più grande.Come estendere un'area tattile del pulsante?

Ho utilizzato la risposta dal post Here ma ha ingrandito il mio pulsante.

Il problema è che l'immagine del pulsante è più grande della dimensione in cui è presentata. Ma ho pensato che ci fosse un modo per farlo senza modificarlo o aggiungere un pulsante trasparente.

risposta

1

Si dovrebbe essere in grado di farlo estendendo la classe del pulsante e ignorando il metodo hitTest. Nella tua versione di questo metodo puoi espandere l'area selezionata per includere un'area buffer e restituire il pulsante se il tocco si verifica al suo interno.

+0

Grazie. Sembra una buona soluzione, potrei semplicemente mettere pulsanti trasparenti ... più facile .. :) – AYBABTU

+0

Questo non funziona. Il pulsante evidenzierà ecc., Ma il suo target/selettore non viene invocato per UIControlEventTouchUpInside. –

2

Utilizzare un pulsante personalizzato con un'immagine con la modalità "centro" (il che significa che non viene ridimensionata con le dimensioni del pulsante e rimane sempre al centro). Quindi puoi rendere il pulsante grande quanto vuoi e l'immagine del pulsante rimane sempre al centro con le stesse dimensioni.

0

Un pulsante trasparente dietro questo pulsante funzionerebbe anche e basta indicarlo al metodo ... Suppongo che si possa fare questo in molti modi. Uno dovrebbe preferire l'opzione che è più semplice con il minimo sovraccarico.

+1

Ma devi considerare anche il sovraccarico previsto. La derivazione di una classe pulsante estesa da UIButton potrebbe anche aiutare in futuro, quindi meno spese generali. :) – AYBABTU

Problemi correlati