我在我的應用程序中創建了數百個動態UIButtons
。在創建這些UIButtons
時,我給每一個標籤。 我想要做的是能夠在點擊時更改UIButton
的背景圖像。 如果我有一個帶有標籤的UIButton
,而不是如何更改UIButton
的背景圖片?如何更改UIButton的背景圖像?
回答
您可以更改按鈕圖像按發件人標籤一樣:
-(IBAction)changeImage:(id)sender
{
[sender setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",[sender tag]]] forState:UIControlStateNormal];
}
,如果你有一個數組所有映像文件名,那麼你可以如下執行。
-(IBAction)changeImage:(id)sender
{
[sender setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.png",[MyImagearray ObjectAtindex:[sender tag]]]] forState:UIControlStateNormal];
}
如果這不是你想要的,然後正確指定你的問題。
希望它有幫助。
-(IBAction)btnclicked:(id)sender
{
int tag=sender.tag;
UIImage * newImage=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",tag]];
[sender setBackgroundImage:newImage forState:UIControlStateNormal];
}
///This bellow line for Normal Image with button tag just put image with tag and add Normal.
[yourButton setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"%dNormal.png",btnGo.tag]] forState:UIControlStateNormal];
///This bellow line for UIControlStateHighlighted Image with button tag just put image with tag and add Highlited.
[yourButton setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"%dHighlited.png",btnGo.tag]] forState:UIControlStateHighlighted];
///This bellow line for UIControlStateSelected Image with button tag just put image with tag and add Selected.
[yourButton setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"%dSelected.png",btnGo.tag]] forState:UIControlStateSelected];
,並在你的按鈕點擊方法只是將其設置爲a selected ..
對於EX:
-(IBAction)btnClicked:(id)sender{
UIButton *btn = (UIButton*)sender;
[btn setSelected:YES];
}
@Vishal這個代碼是用於整個狀態的,也是整個按鈕與其單獨的圖像也放在這裏的圖像的靜態名稱,但它的工作看.. –
的方法有很多,當你點擊一個按鈕,但兩個最好的辦法將是沒有把它變成一個switch statement
像這樣
- (IBAction)shouldChangeImage:(id)sender
{
switch([sender tag]) {
case 1:
[sender setBackgroundImage:[UIImage imageNamed:@"myFirstImage.png"] forState:UIControlStateNormal];
break;
case 2:
[sender setBackgroundImage:[UIImage imageNamed:@"mySecondImage.png"] forState:UIControlStateNormal];
break;
// And so on for each button tag and then have a default for those that are not listed.
default:
[sender setBackgroundImage:[UIImage imageNamed:@"myDefaultImage.png"] forState:UIControlStateNormal];
break;
}
}
這是不好的這是可以做到數百個按鈕,但仍然有效。如果所有圖像的命名完全不同,這也是最好的方法,但是如果您將圖像命名爲相同,並且只需使用可創建更高效代碼的標籤編號進行前綴,那麼讀起來會更容易。你會這樣做。
- (IBAction)shouldChangeImage:(id)sender
{
[sender setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"myImage-%d.png",[sender tag]]] forState:UIControlStateNormal];
}
請注意整個事情是如何在一行上,因此這樣更容易閱讀,更高效。
你也可以使用else if statement
,但如果你有幾百個,我會推薦一種方式。
希望這會有所幫助
他試圖添加100個或更多的按鈕,在這種情況下並不好。 –
@SibaPrasadHota同意添加只是作爲一個選項沒有更多的,然後他可以讓他的頭腦使用哪一個。我總是喜歡給出一些方法來給這個人一個最適合他們的選擇。儘管如此,我的確推薦了更短的路線 – Popeye
- 1. 如何更改UIButton中的UIButton背景圖像點擊ios
- 2. 與更改UIButton背景圖像問題
- 3. UIButton背景圖像點擊更改
- 4. 隨機更改UIButton背景圖像
- 5. UIButton的圖像和背景
- 6. 如何更改TD的背景圖像?
- 7. 如何更改div的背景圖像?
- 8. 如何更改Alertdialog的背景圖像
- 9. 更改UIButton背景顏色
- 10. UIButton背景更改點擊
- 11. 圖像和背景圖像的UIButton
- 12. 動畫UIButton背景圖像
- 13. UIButton背景圖像不變
- 14. 如何定期更改背景圖像
- 15. 以編程方式更改UIButton上的背景圖像
- 16. 更改圖像背景
- 17. jquery更改背景圖像
- 18. onClick更改背景圖像
- 19. UIButton圖像/背景圖像古怪
- 20. UIButton背景圖像以編程方式更改
- 21. 如何在Interface Builder中更改UIButton的背景圖像並保留其形狀?
- 22. 如何更改懸停上的背景圖像更改
- 23. 更改UIButton IPhone的背景顏色
- 24. 訪問UIButton的背景圖像的UIImageView
- 25. 如何更改背景圖像視圖透明圖像?
- 26. UIButton背景IOS7中的圖像
- 27. UIButton的背景圖像按鈕
- 28. 獲取UIButton的背景圖像
- 29. 更改背景圖像像滑塊
- 30. 動態更改圖像視圖背景
你應該在提問之前做一點研究,這裏有幾百個博客覆蓋了這個問題。 – NSAddict