[英]How can I set the background image of multiple buttons in a certain view from a different view?
基本上,我不知道如何更改背景圖像。 我已經搜尋了,卻似乎找不到。 有人有想法么? 謝謝!
更新資料
這是我用來顯示視圖的代碼:SettingsViewController * settingsView = [[SettingsViewController alloc] initWithNibName:nil bundle:nil]; [自身presentModalViewController:settingsView動畫:是];
如果有人需要其他任何幫助,我會盡力而為! 謝謝!
在不同視圖之間傳遞消息可以通過直接調用方法(不是一個好的體系結構解決方案,但對於小型項目可能並不重要)或使用事件驅動的模型來完成,如上面的答案所述。 至於綁定對象集合並隨后進行處理,我建議您查看IBOutletCollection關鍵字,該關鍵字允許將InterfaceBuilder的多個對象綁定到具有NSArray類型的屬性。
屬性聲明將如下所示:
@property (nonatomic, retain) IBOutletCollection(UIButton) NSArray *buttons;
更改所有按鈕背景的代碼如下所示:
UIImage *backgroundImage = [UIImage imageNamed:@"background.png"];
for(UIButton *button in buttons) {
[button setBackgroundImage:backgroundImage forState:UIControlStateNormal];
}
您可以使用setBackgroundImage:forState:
來設置圖像。
關於不同的視圖部分,這取決於您編寫代碼的方式。 如果帶有按鈕的視圖由其他視圖控制(通過創建實例並使用addSubview:
則可以使用instanceName.buttonName
(只要將其聲明為屬性-thanks fichek)直接調用它。
如果您不是手動添加視圖,而是通過IB,則可以將控制另一個按鈕的圖像的按鈕指向該類中的IBAction。
如果這些選項都不起作用,則可以始終使用NSNotificationCenter。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.