2009-11-12 12 views
9

Ho diversi UIButtons nella mia app con grafica diversa per i loro stati On/Off. I pulsanti più piccoli vengono visualizzati correttamente senza sfarfallii, ma il pulsante più grande (320x90px) sfarfallerà di un colore nero sul pulsante quando premuto fino al 75% delle volte. Questo è su iPhone, non su Simulator. Ho impostato diverse combinazioni delle immagini di stato predefinite, evidenziate, selezionate e disabilitate di UIButton in IB, ma non riesco ancora a liberarmi di questo sfarfallio. C'è qualcos'altro che posso provare?UIButton sfarfallio quando premuto

+0

Stai modificando il pulsante durante l'evento premuto? – Josh

+0

Una volta premuto questo tasto UIB, viene richiamata una funzione che disattiva il pulsante durante l'elaborazione su un thread in background. Questo è diverso dagli altri UIButtons e probabilmente causa il problema, ma non riesco a ottenere alcuna combinazione di immagini di stato UIButton per impedire lo sfarfallio. – Ian

+0

Assicurati di non disabilitare, o comunque di accedere a tutti i tuoi pulsanti o altri elementi dell'interfaccia dal tuo thread in background. Questo potrebbe causare il problema. Mantieni nel thread in background solo l'elaborazione che non coinvolge l'interfaccia. – luvieere

risposta

25

Se si sta facendo qualcosa come button.selected = !button.selected nel gestore, ho avuto anche questo problema. L'ho risolto chiamando button.highlighted = NO.

+0

Questo ha funzionato per me. Ho un pulsante in cui gli stati evidenziati e selezionati utilizzano la stessa immagine (diversa dall'immagine normale) e si è verificato uno sfarfallio quando si passa da evidenziato a selezionato. –

+0

David ha ragione, chiamando 'button.highlighted = NO' appena prima di chiamare' button.selected = NO' (o 'button.selected =! Button.selected') ha risolto il problema anche per me. –

+0

stesso ... perfetto :) – VTS12

Problemi correlati