Я пытаюсь изменить цвет фона UIWindow, когда действие отправляется в класс MyController. Однако 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
И вот код для AppDelegate.h:
@interface AppDelegate : NSObject { UIWindow *window; } - (void)changeColorToRed:(int)r Green:(int)g Blue:(int)b; @property (nonatomic, retain) IBOutlet UIWindow *window; @end
Я пытался реализовать метод changeColorToRed... в классе AppDelegate, потому что тот метод имеет доступ к переменной window
, но у меня не было способа назвать это от sliderChanged
метод в MyController.
Как я могу изменить UIWindow * окно от другого класса?
[UIApplication sharedApplication].delegate.window.backgroundColor = [UIColor myColor];
Если есть только 1 окно,
[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor myColor];
Я думаю, что вы можете либо:
сделать какой-то статический метод в классе, содержащий Переменная окна
или
пропустите переменную окна в новый класс.