2011-04-18 19 views
14

Bu andaki düğmeye dokunduğumda, dokunmatik ekran görüntüsünü bıraktığımda görüntüyü & değiştirmek istiyorum.UIButton - On dokunuşlu görüntü değiştir

Aşağıdaki kodları uygulamak istiyorum ama bu benim beklentimle değil.

bana herhangi bir öneri verin .....

-(IBAction)actionEnter:(id)sender{ 
      if ([sender isSelected]) { 
       [sender setImage:[UIImage imageNamed:@"enter-hover.png"] 
         forState:UIControlStateNormal]; 
       [sender setSelected:NO]; 
      } else { 
       [sender setImage:[UIImage imageNamed:@"enter.png"] 
         forState:UIControlStateSelected]; 
       [sender setSelected:YES]; 
      } 
+0

cevabımı kontrol .. – Jhaliya

cevap

13

Bunun için UIControlStateHighlighted kullanabilirsiniz.

 
[myButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateHighlighted]; 

Ayrıca vurgulanan devlet için görüntüyü ayarlayarak arayüz oluşturucudaki bu ayarlayabilirsiniz.

1

Sana UIButton nesne oluştururken

aşağıda ile deneyin .. Eğer normal ve seçilen devlet için başlangıçta görüntüyü ayarlayabilirsiniz düşünüyorum. Ben bu yeter bence

[myButton setImage:[UIImage imageNamed:@"enter.png"] 
      forState:UIControlStateNormal]; 
[myButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateSelected]; 
5

[şartının resimler kullanın]. düğmesine

[yourButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateSelected]; 
[yourButton setImage:[UIImage imageNamed:@"enter.png"] 
      forState:UIControlStateNormal]; 

oluşturduktan sonra görüntüleri ayarlayın ve hemen imajını değiştirmek backgroundImage özelliğini kullanmak için bu

- (IBAction)actionEnter:(id)sender{ 
    UIButton *button = (UIButton *)sender; 
    button.selected = !button.selected; 
} 
-1

yapmak.

0

@ 7KV7 beni düşünmeye başladı. Favori resimleri ve resimleri bir daha görmek istemediğim yerleri işaretlemek için kullanmak istediğim favori ve göz ardı düğmelerim var. Düğmeleri başlatmak için yöntemini kullandım ve düğmelerini açıp kapatmak için yöntemini biraz değiştirdim.

Bu örnekte, bir resmi favori olarak işaretlerseniz, göz ardı düğmesini ve tersini de kapatmak istersiniz. Temsilci veritabanı öğelerini ele alır. Sadece açık veya kapalı bir düğmeye geçiş yapıyorsanız ButtonPressed gönderen düğmesine basıldığında edildiği bilir beri

self.favoriteButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     self.ignoreButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

     [self.favoriteButton setImage:[UIImage imageNamed:@"Favorite-Selected"] 
          forState:UIControlStateSelected]; 
     [self.favoriteButton setImage:[UIImage imageNamed:@"Favorite"] 
          forState:UIControlStateNormal]; 

     [self.ignoreButton setImage:[UIImage imageNamed:@"Ignore-Selected"] 
          forState:UIControlStateSelected]; 
     [self.ignoreButton setImage:[UIImage imageNamed:@"Ignore"] 
          forState:UIControlStateNormal]; 

, sen bir özellik yapmak gerekmez. Vurgularını kapatmak için zıt düğmeyi anlatmam gerektiğinden, onların mülk sahibi olmalarına ihtiyacım var. Swift ise

- (void)favoriteIgnore:(UIButton *)buttonPressed { 

    // Toggle the tapped button 
    buttonPressed.selected = (buttonPressed.selected) ? NO : YES; 

    id <ScoringToolbarDelegate> TB_delegate = _delegate; 

    // Turn off the other button and call the delegate 
    if ([buttonPressed.currentTitle isEqualToString:@"favorite"]) { 

     self.ignoreButton.selected = NO; 
     [TB_delegate favoriteButtonPressed]; 

    } else { 

     self.favoriteButton.selected = NO; 
     [TB_delegate ignoreButtonPressed]; 
    } 
} 
1

:

button.setImage(UIImage(named: "enter.png"), forState: [.Selected, .Highlighted])