[英]How to change the UIButton background images in UIButton click in ios
一個UIButton在啟動應用程序時要顯示“ workout_heart.png”。 為該按鈕編寫按鈕單擊動作。 當用戶單擊該按鈕時,該圖像要更改“ workout_heart_red.png”。 再次單擊該按鈕意味着該圖像變為“ workout_heart.png”。 它想要更改備用。 我該如何幫助我!!!
試試這個,聲明狀態為實例變量
- (IBAction)buttonTapped:(id)sender {
if (state == 0) {
state = 1;
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateHighlighted];
}
else if (state == 1){
state = 0;
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
}
}
- (IBAction)btn_MyButton_Click:(id)sender
{
if ([sender isSelected] == YES)
{
[sender setSelected:NO];
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
}
else
{
[sender setSelected:YES];
[btn setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateNormal];
}
}
嘗試這個
[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart.png" forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageWithString:@"workout_heart_red.png" forState:UIControlStateHighlighted];
試試這個代碼
對於按鈕,為選定狀態和正常狀態設置背景圖片,如下所示
[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart.png"] forState:UIControlStateNormal];
[<btn> setBackgroundImage:[UIImage imageNamed:@"workout_heart_red.png"] forState:UIControlStateSelected];
並編寫如下的動作邏輯
- (IBAction)buttonTapped:(id)sender {
UIButton *tempButton = (UIButton *)sender;
if(tempButton.isSelected){
[tempButton setSelected:NO];
} else {
[tempButton setSelected:YES];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
// ...
self.btn1ImageName = @"workout_heart.png";
btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(367, 117, 97, 25)];
[btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(toggleImage:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn1];
}
- (void)toggleImage:(UIButton *)btn1 {
self.btn1ImageName = ([self.btn1ImageName isEqualToString:@"workout_heart.png"]) ? @"workout_heart_red.png" : @"workout_heart.png";
[btn1 setImage:[UIImage imageNamed:self.btn1ImageName] forState:UIControlStateNormal];
}
默認情況下在xib中設置背景圖片,例如“ workout_heart.png”,然后檢查狀態,即
if(button.selected)
{
[button setBackgroundImage:[UIImage imageNamed:"workout_heart_red.png"] forState: UIControlStateNormal];
}
else
{
[button setBackgroundImage:[UIImage imageNamed:"workout_heart.png"] forState: UIControlStateNormal];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.