【问题标题】:iPhone: create new "View-based Application" = no view controller?iPhone:创建新的“基于视图的应用程序”= 没有视图控制器?
【发布时间】:2010-06-20 09:46:08
【问题描述】:

我在 Xcode 中创建了一个新的 iPhone“基于视图的应用程序”。然后,我添加了一个新的“UIViewController 子类”并检查了“使用 XIB 作为用户界面。现在我遇到的问题是,在连接所有变量和消息处理程序后,我无法使用以下代码将新控制器推送到堆栈中:

[self.navigationController pushViewController:self.cabinetController
                                     animated:YES];

所有变量和视图都正确连接,所以我能想到的就是我这样做的方式,将它推到“navigationController”上。我在这里缺少什么吗? (总的来说,我对 iPhone 和 Apple 编程非常陌生,所以这可能是一个非常简单的疏忽)。

我意识到没有提供足够的信息......这是该项目的链接。请注意,这是一个教育练习,有一些创造性地命名课程。

http://files.me.com/nippysaurus/4yqz8t

【问题讨论】:

标签: iphone objective-c cocoa-touch uikit


【解决方案1】:

在您的 appDelegate 中创建一个 UINavigationController 实例变量,然后使用您现有的 viewController 作为导航控制器的 rootViewController。

例如在纯代码中使用 UITableViewController(您也可以使用您的模板应用程序可能使用的 xibs)。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

  // Create root view and navigation controller
  UITableViewController *rootViewController = [[[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease];
  self.navigationController = [[[UINavigationController alloc] initWithRootViewController:rootViewController] autorelease];

  // Not necessary if you're using xibs
  self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

  // Add the nav controller's root view to the window
  [window addSubview:navigationController.view];
  [window makeKeyAndVisible];

  return YES;
}

【讨论】:

    【解决方案2】:

    您需要将视图控制器更改为导航控制器,并将其根视图控制器设置为当前视图控制器。

    【讨论】:

      【解决方案3】:

      如果你检查你的self.navigationController,你会发现它是nil。消息 nil 并没有什么坏处,所以这里没有错误消息。

      使用UINavigationController 添加另一个层,并添加您的RandomShitViewController(顺便说一句,好名字)作为其根视图控制器。

      导航控制器处理推送/弹出部分,您的旧控制器管理其视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-08
        • 2015-04-19
        相关资源
        最近更新 更多