簡體   English   中英

iPhone:無法更改按鈕背景

[英]iphone: unable to change background of buttons

我遇到一種情況,我正在嘗試更改4個按鈕的背景圖像,如下所示:

if(some condition){
[firstSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 
[secondSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal];
[thirdSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal];
[fourthSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal]; 
[fifthSeverityButton setBackgroundImage:[UIImage imageNamed:@"redSeverity.png"] forState:UIControlStateNormal];
 }

但是當我碰到任何一個人時,其他四個人的背景都消失了。請給我啟示一下如何解決他的問題。 提前感謝。

可能是您在尋找單選按鈕,您可以為單選按鈕寫下一個自定義類,並使事情輕松進行

[firstSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 

該代碼實際上在每個控制狀態下都可以正常工作。我認為問題出在按鈕的初始圖像和當前按鈕狀態。(在nib和代碼中)

可以通過以下方式更改按鈕的狀態

button.enabled=yes;
button.highlighted = NO;
button.selected = NO;

當您專門為控件狀態設置圖像時,圖像上的更改會出現在該特定控件狀態上。因此,更改取決於按鈕的初始圖像和當前控件狀態

注意:我們正在對背景圖像進行更改。按鈕具有圖像屬性,實際上可以隱藏背景圖像的更改。如果您設置了圖像

[firstSeverityButton setImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 

代碼中的任何位置,也許它可以隱藏您的背景圖像設置。

在if-else循環中也有可能出錯...遍歷循環並驗證每種情況下圖像設置是否正確

快樂編碼:)

暫無
暫無

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

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