更改rootviewcontroller的背景颜色

时间:2013-11-21 19:58:51

标签: ios objective-c

我现在有一个非常奇怪的问题。我从app delegate类加载了我的rootviewcontroller,然后我创建了singleton类来监听服务器,在这个类中,当我收到任何消息时,我正在调用rootviewcontroller的方法。 当我收到改变颜色的请求时,我调用了rootviewcontroller的方法并且做了 self.view.backgroundcolor = [UIColor bluecolor];虽然它再次调用rootviewcontroller的viewDidLoad方法,但它并没有改变颜色。

请帮助我。

在app delegate类中,我正在加载我的rootviewcontroller

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
} 
self.window.rootViewController = self.viewController;

[self.window makeKeyAndVisible]; 

然后在Viewcontroller类中,我正在创建webRequest类的单例实例,用于创建与服务器的连接。在这个单例类中,当我从服务器获得一些消息时,我使用这个

调用视图控制器类方法
-(void)callFunction :(NSString *)output
{
    if(DEBUG)NSLog(@"Inside Call function");
        self.viewController = [[ViewController alloc]init];
      [self.viewController Testing:output];  

}

然后在视图控制器的类中使用此方法

-(void)Testing:(NSString *)test
{

        if([test caseInsensitiveCompare:@"Blue"] == NSOrderedSame)
    {
        self.view.backgroundcolor =[UIColor bluecolor];       
    }
}

但这不会改变背景的颜色。如果在这个'If'条件下调用另一个视图控制器,它会给我一个警告 警告:尝试在<some memory address>上显示UINavigationController:其视图不在窗口层次结构中

0 个答案:

没有答案