簡體   English   中英

如何在UIButton中更改UIButton背景圖像單擊iOS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM