2013-01-21 12 views
5

Come visualizzare lo stato selezionato per l'UIButton alla spina?UIButton mostra lo stato selezionato alla spina

Lo voglio in modo che quando le persone toccano il pulsante Uibutton mostri lo stato selezionato con l'hover che ho?

In questo momento devono tenere premuto il pulsante per vedere l'hover.

[t1 setBackgroundImage: [UIImage imageNamed: [NSString stringWithFormat: @"hover.png"]] forState:UIControlStateSelected]; 

Voglio mostrare anche l'immagine al passaggio del mouse.

risposta

0

è necessario impostare lo stato selezionato per il pulsante

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button setImage:[UIImage imageNamed:@"hover.png"] forState:UIControlStateSelected]; 

Per mostrare un'immagine Hoover mentre il pulsante è premuto è necessario impostare la proprietà dello Stato per UIControlStateHighlighted

+0

Ho fatto ma non viene visualizzato quando si tocca il pulsante. – Jasmine

+0

L'impostazione dello stato del pulsante su "UIControlStateHighlighted" non ha modificato lo stato del pulsante mentre veniva premuto? –

+0

No, non viene evidenziato quando viene toccato, ma quando viene premuto. – Jasmine

1

Ho avuto lo stesso problema - il mio pulsante è stato evidenziato quando premuto (tocca + tieni premuto) e non lo era - quando toccato semplicemente. Ecco il mio codice:

btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     UIImage *image =[UIImage imageNamed:@"btn"]; 
     UIImage *imageSelected =[UIImage imageNamed:@"btn_tap"]; 
     [btn setBackgroundImage:transImage forState:UIControlStateNormal]; 
     [btn setBackgroundImage:imageSelected forState:UIControlStateHighlighted]; 
    [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside]; 

-(void)btnPressedWithDelay{ 
    //your code for btn action 
} 

- (void) action:(UIButton *)sender{ 
    [self performSelector:@selector(btnPressedWithDelay) withObject:nil afterDelay:0.1]; 
} 

ha funzionato per voi?

Problemi correlati