簡體   English   中英

按下按鈕時更改UIButton圖像

[英]Change UIButton image when button pressed

我正在嘗試在按下按鈕的瞬間更改圖像按鈕。 發布后,我想回到原版。

我在這里看了一些帖子,但它沒有用。

是否可以在沒有編程的GUI中進行?

我試過這個:

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

但是我應該將函數toggleUIButtonImage關聯到什么樣的發件人事件?

謝謝

您可以通過為每個按鈕狀態配置提供不同的設置在界面構建器中執行此操作:

可用狀態包括:默認,選中和禁用

或者您也可以使用'UIButton'setImage:forState方法更改代碼中按鈕的“設置”。

    [myButton setImage:highlightedImage forState:UIControlStateHighlighted];

通常,您應該通過如上所述“配置”按鈕而不是通過手動更改按鈕的子視圖作為對用戶交互的響應來執行此操作。 它不適合你的原因是UIButton固有的隱藏行為。 您手動更改按鈕的子視圖作為對用戶交互的響應,但您的更改將更改回按鈕設置中定義的更改(根據按鈕的狀態)。 所以看起來你的代碼根本不做任何事情。

ViewDidLoad方法中

設置屬性

[[button setImage:[UIImage ImageNamed:@"unselectedImage.png"] forState: UIControlStateNormal]; 
[[button setImage:[UIImage ImageNamed:@"selectedImage.png"] forState: UIControlStateHighlighted ];

這可以通過Interface Builder完成,無需代碼。

在IB中選擇您的按鈕,轉到右側邊欄,將“類型”更改為“自定義”,確保“狀態配置”為“默認”,然后在“背景圖像”文本字段中鍵入“常規圖像”參考的名稱。

然后將狀態配置更改為突出顯示,並在背景圖像文本字段中鍵入“按下的圖像”參考的名稱。

在IB中,您可以為按鈕的突出顯示(未選定)狀態設置圖像。 應該這樣做。

查看“實用工具”窗格的“按鈕”部分,然后從“狀態配置”下拉列表中選擇“突出顯示”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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