【问题标题】:View is only displaying for a fraction of a second视图仅显示几分之一秒
【发布时间】:2013-04-26 18:02:43
【问题描述】:

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

除了快速闪烁的视图之外,我在第二代 iPod touch 上运行该应用程序时发现我可以向右滑动拇指并从主屏幕查看应用程序。再滑动一次,我可以看到搜索,但底部的音乐、邮件、Safari 和视频等图标不可见。按下停止按钮会终止应用程序并返回正常的主屏幕。这让我觉得我错误地设置了根视图控制器?我从 Stack Overflow 上的另一个问题中获取了 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;
}

【问题讨论】:

    标签: ios objective-c autorelease uiwindow


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 2019-02-27
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多