UIButton – 触摸更改图像

当我触摸button时,我想要改变图像,当我释放触摸button图像是这样的。

我想申请下面的代码,但这不符合我的期望。

请给我任何build议…..

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

你可以使用UIControlStateHighlighted做这个。

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

您也可以通过设置图像为突出显示的状态来从界面构build器中进行设置。

我认为这应该做到这一点。 创buildbutton后设置图像

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

并做到这一点

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

我想,你可以在正常和select状态的开始设置图像..

当您创buildUIButton对象时请尝试下面的代码。 [根据您的要求使用图像]

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

在Swift中:

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

@ 7KV7让我思考。 我喜欢并忽略了我想用来标记我不想再次看到的最喜欢的图片和图片的button。 我用他的方法初始化button,然后稍微修改他的方法来打开和closuresbutton。

在这个例子中,如果您将图片标记为collections夹,则要closures忽略button,反之亦然。 委托处理数据库的东西。

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

如果您只是打开或closuresbutton,则不必将其设置为属性,因为buttonPressed发件人知道哪个button已被按下。 我需要让它们成为属性,因为我需要告诉对面的button来closures它的亮点。

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

立即使用backgroundImage属性更改图像。