Iphone 如何从单独的类更改UIWindow的颜色?
当一个动作被发送到MyController类时,我试图更改UIWindow的背景色。但是,UIWindow驻留在AppDelegate类中,因此我没有访问变量的权限,无法使用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
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];
我想你可以: 在包含窗口变量的类中创建一些静态方法 或 将窗口变量传递给新类