在iphone中单击按钮时,如何更改按钮背景图像?

在iphone中单击按钮时,如何更改按钮背景图像?,iphone,objective-c,cocoa-touch,ios4,iphone-sdk-3.0,Iphone,Objective C,Cocoa Touch,Ios4,Iphone Sdk 3.0,如何在单击UIButton时更改其背景图像,并且在单击另一个按钮之前应保持原样。用户每次点击视图上的任何按钮时,都需要设置图像。 所以,当用户点击按钮时,将其图像设置为您想要的图像(假设颜色较暗),其余按钮设置为正常图像(假设颜色较亮)。然后,当用户点击其他按钮时,重复该过程 [yourButton setImage:[UIImage imageNamed:youImage] forState:UIControlStateNormal]; 希望这有帮助。您考虑过使用UISegmente

如何在单击UIButton时更改其背景图像,并且在单击另一个按钮之前应保持原样。

用户每次点击视图上的任何按钮时,都需要设置图像。 所以,当用户点击按钮时,将其图像设置为您想要的图像(假设颜色较暗),其余按钮设置为正常图像(假设颜色较亮)。然后,当用户点击其他按钮时,重复该过程

    [yourButton setImage:[UIImage imageNamed:youImage] forState:UIControlStateNormal];

希望这有帮助。

您考虑过使用UISegmentedControl吗?这支持在按下另一个按钮之前保持按下的功能。只需查看文档即可找到设置图像和编程设置所选片段的方法


[myButton setImage:[UIImage imageNamed:@"btn_normal.png"] forState:UIControlStateNormal];
    [myButton setImage:[UIImage imageNamed:@"btn_highlighted.png"] forState:UIControlStateHighlighted];
    [myButton setImage:[UIImage imageNamed:@"btn_highlighted.png"] forState:UIControlStateSelected];
    myButton.showsTouchWhenHighlighted = YES;

第四行myButton.showsTouchWhenHighlighted=是;我会成功的。请尝试。

您需要查看参考资料以获得解决方案

工作代码:

// 1) Give tag to all needed button

// 2) check which button is selected by "sender tag"

// 3) set all other buttons to not selected

-(IBAction) buttonPressed:(id)sender
 { 
      if ([sender isSelected]) 
      {  
          [sender setImage:unselectedImage forState:UIControlStateNormal];  
          [sender setSelected:NO];  
      }
      else 
      {     
          [sender setImage:selectedImage forState:UIControlStateSelected]; 
          [sender setSelected:YES]; 
      }
 }

按下时会更改图像,但按下后会返回原始(旧)图像。。。。。。我想保留新图像,不想让用户用新图像再次触摸该按钮(禁用),你能尝试使用你的按钮吗。要使用的已启用属性。我尝试过,但它会更改背景图像颜色,因为设置“启用”或“禁用”有其自己的颜色+1:myButton。ShowTouch当高亮显示时,我今天学到了一些新东西!:哦,谢谢,直到现在我才知道这个在那里^^