簡體   English   中英

如何在不同視圖中的某個視圖中設置多個按鈕的背景圖像?

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

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