我怎么知道我的观点窗口?

时间:2012-06-26 08:27:42

标签: objective-c xcode4.3

永远不会自动调用

ViewWillAppear我必须手动调用它们。 ViewWillDisappear经常被称为。{/ p>

我不知道在哪里调试它。

我认为问题是因为我在4.1上创建了应用程序,人们必须明确地调用viewWillAppear

我想,因为viewWillAppear将根据它与窗口的关系被调用,我可以检查我的viewController是否有窗口的出口。

我该怎么做?

我怀疑问题出在我的代表处:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [Crashlytics startWithAPIKey:@"a08863b514ef09558ba82fec070cc7468fdbeeae"];
    if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
    {
        NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
    }

    [self.window addSubview:self.navController.view]; //This seem to be the problem. I should have specified the viewController and not the view

    [self.navController pushViewController:self.MainBadgerApplication animated:YES];
    //[cachedProperties singleton].lastAnchor =[cachedProperties currentLocation];
    [cachedProperties singleton].currentAnchor=[cachedProperties currentLocation];
    self.MainBadgerApplication.selectedIndex=0;
    [BNUtilitiesQuick tabBarController:self.MainBadgerApplication didSelectViewController:self.MainBadgerApplication.selectedViewController];
    [self.window makeKeyAndVisible];

    return YES;
}

我怀疑 [self.window addSubview:self.navController.view];是问题。

另外我在ios5之前听说你必须明确地调用viewController。那么我应该为ios5和ios4创建一个不同的程序(不像为我的程序调用viewController两次有任何危险)

1 个答案:

答案 0 :(得分:1)

  

我怀疑[self.window addSubview:self.navController.view];是个问题。

可能。你应该这样做:

self.window.rootViewController = self.navController;

只是添加视图不会将视图控制器正确地放入层次结构中。有关详细信息,请参阅WWDC 2011视图控制器包含视频。