Ios 视图仅显示了几分之一秒

Ios 视图仅显示了几分之一秒,ios,objective-c,autorelease,uiwindow,Ios,Objective C,Autorelease,Uiwindow,我有一个LoginViewController类,它扩展了UIViewController,只显示了几分之一秒。在我的AppDelegate.m类中,我尝试分配一个UINavigationController作为子视图控制器。我看到loginViewController的视图在视图变黑之前的一瞬间(我看到我在Interface Builder中设计的视图)。我不太清楚为什么会发生这种情况 除了快速闪烁的视图外,我还在第二代iPodtouch上运行应用程序,注意到我可以向右滑动拇指,从主屏幕上看到

我有一个
LoginViewController
类,它扩展了
UIViewController
,只显示了几分之一秒。在我的
AppDelegate.m
类中,我尝试分配一个
UINavigationController
作为子视图控制器。我看到
loginViewController
的视图在视图变黑之前的一瞬间(我看到我在Interface Builder中设计的视图)。我不太清楚为什么会发生这种情况

除了快速闪烁的视图外,我还在第二代iPodtouch上运行应用程序,注意到我可以向右滑动拇指,从主屏幕上看到应用程序。再刷一次,我就可以看到搜索结果,但底部的图标,如音乐、邮件、狩猎和视频都不可见。按下停止按钮将关闭应用程序并返回正常主屏幕。这让我觉得我没有正确设置根视图控制器?我从这里关于堆栈溢出的另一个问题中获取了if
respondsToSelector
代码。if阻止了我的代码崩溃,我认为这与iOS 4之前的设备有关?当它运行时没有崩溃是当我开始收到登录视图闪烁一次和主屏幕应用程序只是一个拇指刷远

感谢您的帮助。如果我的代码有助于解释我的问题,请让我知道,我会发布更多

编辑:忘记发布Xcode版本4.4和部署iOS目标4.0

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    mainViewController = [[[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil] autorelease];
    loginViewController = [[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] autorelease];

    navigationController = [[UINavigationController alloc] init];
    [navigationController pushViewController:loginViewController animated:NO];
    if([window respondsToSelector:@selector(setRootViewController:)])
    {
        [window setRootViewController:navigationController];
    }
    else
    {
        [window addSubview:[navigationController view]];
    }

    initWithRootViewController:viewController] autorelease];
    initWithNibName:@"ContainerViewController" bundle:nil] autorelease];

    [window makeKeyAndVisible];
    return YES;
}

取出窗口创建行中的
autorelease
。您希望该窗口在应用程序运行期间一直有效