我正在尝试将操作发送到类MyController时更改UIWindow的背景颜色。但是UIWindow驻留在AppDelegate类中,因此我无权使用该变量来修改它
window.backgroundColor = [UIColor theColor];
在MyController中。这是MyController.m的代码:
@implementation MyController
-(IBAction)sliderChanged:(id)sender {
//想调用某种方法来改变UIWindow的背景色
}
@结尾
这是AppDelegate.h的代码:
@interface AppDelegate:NSObject {
UIWindow *窗口;
}
-(void)changeColorToRed:(int)r绿色:(int)g蓝色:(int)b;
@属性(非原子的,保留)IBOutlet UIWindow *窗口;
@结尾
我试图在AppDelegate类中实现方法changeColorToRed ...,因为该方法可以访问变量
window
,但是我无法从MyController的sliderChanged
方法中调用该方法。如何从另一个类修改UIWindow *窗口?
最佳答案
[UIApplication sharedApplication].delegate.window.backgroundColor = [UIColor myColor];
如果只有一个窗口
[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor myColor];
关于iphone - 如何从单独的类更改UIWindow的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2034918/