繁体   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