Ios UIButton-触摸式更改图像
当我当时触摸按钮时,我想改变图像&当我松开触摸按钮时,图像保持原样 我想应用下面的代码,但这不是我的期望 请给我任何建议Ios UIButton-触摸式更改图像,ios,objective-c,iphone,uibutton,uicontrolstate,Ios,Objective C,Iphone,Uibutton,Uicontrolstate,当我当时触摸按钮时,我想改变图像&当我松开触摸按钮时,图像保持原样 我想应用下面的代码,但这不是我的期望 请给我任何建议 -(IBAction)actionEnter:(id)sender{ if ([sender isSelected]) { [sender setImage:[UIImage imageNamed:@"enter-hover.png"] forState:UICon
-(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];
}
您可以为此使用uicontrol状态高亮显示 [myButton setImage:[UIImage imageNamed:@"enter-hover.png"] forState:UIControlStateHighlighted]; [myButton setImage:[UIImage ImageName:@“输入hover.png”] forState:uicontrol状态突出显示];
您还可以通过将图像设置为高亮显示状态,从interface builder中进行设置。我认为,您可以在开始时将图像设置为正常和选定状态 当您创建
ui按钮
对象时,请尝试以下操作[根据您的要求使用图像]
[myButton setImage:[UIImage imageNamed:@"enter.png"]
forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"enter-hover.png"]
forState:UIControlStateSelected];
我想这应该可以。创建按钮后设置图像
[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;
}
要立即更改图像,请使用backgroundImage属性。@7KV7让我思考。我有收藏和忽略按钮,我想用它们来标记收藏的图片和我再也不想看到的图片。我使用他的方法初始化按钮,然后稍微修改他的方法来打开和关闭按钮 在本例中,如果将图片标记为收藏夹,则需要关闭“忽略”按钮,反之亦然。委托处理数据库的内容
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];
如果只是打开或关闭按钮,则不需要将其设置为属性,因为按下按钮的发送者知道按下了哪个按钮。我需要让它们成为属性,因为我需要告诉对面的按钮关闭高亮显示
- (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];
}
}
-(无效)收藏夹忽略:(UIButton*)按钮按下{
//切换点击的按钮
buttonPressed.selected=(buttonPressed.selected)?否:是;
id TB_delegate=_delegate;
//关闭另一个按钮并呼叫代表
如果([buttonPressed.currentTitle isEqualToString:@“favorite”]){
self.ignoreButton.selected=否;
[TB_代表收藏夹按钮按下];
}否则{
self.favoriteButton.selected=否;
[TB_代表忽略按钮按下];
}
}
在Swift中:
button.setImage(UIImage(名为:“enter.png”),for状态:[.Selected,.Highlighted])