2013-01-21 5 views
5

Jak wyświetlić wybrany stan Uibuttonu po dotknięciu?UIButton wyświetla wybrany stan z kranu

Chcę, aby po dotknięciu uibuttonu pokazywał wybrany stan za pomocą wskaźnika, który mam?

Teraz muszą przytrzymać przycisk, aby wyświetlić wskaźnik.

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

Chcę również wyświetlić obraz na zawijasie.

Odpowiedz

0

Musisz ustawić wybrany stan na przycisk

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

Aby pokazać obraz odkurzacz, gdy przycisk jest wciśnięty trzeba ustawić własności państwowej do UIControlStateHighlighted

+0

Zrobiłem, ale nie widać, kiedy przycisk jest dotknięty. – Jasmine

+0

Ustawienie stanu przycisku "UIControlStateHighlighted" nie zmieniło stanu przycisku podczas naciskania? –

+0

Nie podświetla się po stuknięciu, ale po naciśnięciu robi. – Jasmine

1

miałem ten sam problem - mój przycisk został podświetlony po naciśnięciu (dotknij + przytrzymaj), a nie - po prostu stuknij. Oto mój kod:

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]; 
} 

Czy to działa?