如何在iphone中点击按钮背景图像?

时间:2011-03-23 06:10:21

标签: iphone objective-c cocoa-touch ios4 iphone-sdk-3.0

如何在单击UIButton时更改UIButton的背景图像,它应保持原样,直到单击另一个按钮为止。

5 个答案:

答案 0 :(得分:9)


[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 = YES;会做的。请试试。

答案 1 :(得分:2)

工作代码:

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

答案 2 :(得分:1)

每次用户点击视图上的任何按钮时,您都需要设置图像。 因此,当用户点击您的按钮时,将其图像设置为您想要的图像(假设它更暗),其余按钮设置为正常图像(让我们假设更轻)。然后,当用户点击其他按钮时,重复该过程。

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

希望这有帮助。

答案 3 :(得分:1)

您需要查看UIButtonClass参考以获取解决方案。

答案 4 :(得分:0)

您是否考虑过使用UISegmentedControl?这支持保持按下的功能,直到按下另一个。只需查看文档,找到设置图像的方法,并以编程方式设置所选的段。