Iphone 如何从单独的类更改UIWindow的颜色?

Iphone 如何从单独的类更改UIWindow的颜色?,iphone,class,background-color,uiwindow,Iphone,Class,Background Color,Uiwindow,当一个动作被发送到MyController类时,我试图更改UIWindow的背景色。但是,UIWindow驻留在AppDelegate类中,因此我没有访问变量的权限,无法使用 window.backgroundColor = [UIColor theColor]; 在MyController中。以下是MyController.m的代码: @implementation MyController - (IBAction)sliderChanged:(id)sender { //want to

当一个动作被发送到MyController类时,我试图更改UIWindow的背景色。但是,UIWindow驻留在AppDelegate类中,因此我没有访问变量的权限,无法使用

window.backgroundColor = [UIColor theColor];
在MyController中。以下是MyController.m的代码:

@implementation MyController - (IBAction)sliderChanged:(id)sender { //want to call some method to change the UIWindow background color } @end @MyController的实现 -(iAction)滑块已更改:(id)发件人{ //想调用一些方法来更改UIWindow的背景色吗 } @结束 下面是AppDelegate.h的代码:

@interface AppDelegate : NSObject { UIWindow *window; } - (void)changeColorToRed:(int)r Green:(int)g Blue:(int)b; @property (nonatomic, retain) IBOutlet UIWindow *window; @end @接口AppDelegate:NSObject{ UIWindow*窗口; } -(空)变色:(int)r绿:(int)g蓝:(int)b; @属性(非原子,保留)IBUIWindow*window; @结束 我试图实现一个方法changeColorToRed。。。在AppDelegate类中,因为该方法可以访问变量
窗口
,但我无法从MyController中的
sliderChanged
方法调用它

如何从其他类修改UIWindow*窗口

[UIApplication sharedApplication].delegate.window.backgroundColor = [UIColor myColor];
如果只有一个窗口

[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor myColor];

我想你可以:

在包含窗口变量的类中创建一些静态方法

将窗口变量传递给新类