【问题标题】:iPhone UINavigationController inside UIViewControllerUIViewController 内的 iPhone UINavigationController
【发布时间】:2011-06-13 07:31:16
【问题描述】:

步骤:

  • 列表项
  • 创建一个名为 Nav 的项目。
  • 创建一个新的UIViewController BaseViewController(带有 XIB)和 FirstViewController(带有 XIB)。
  • NavAppDelegat.h中定义baseController变量

    @interface NavAppDelegate : NSObject <UIApplicationDelegate> {
    BaseViewController *baseController;
    }
    @property (nonatomic, retain) IBOutlet BaseViewController *baseController; 
    
  • NavAppDelegat.m窗口中添加baseController:

    @synthesize baseController;
    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    [self.window addSubview:baseController.view];
    [self.window makeKeyAndVisible];
    return YES;
    }
    
  • 打开 BaseViewController.xib 文件并添加 UINavigationController,将其 Root View Controller 类和 XIB 设置为 FirstViewController(在检查器中)。

  • 还将 navigationController 变量与 UINavigationController 连接。

我相信这应该向我展示带有导航栏的 FirstViewController。如果我直接在 MainWindow.xib 上执行此操作,则一切正常,但在这里我看不到导航栏。我错过了什么?太好了!

更新: 所以问题只是如果我在一些额外的控制器(此处为 BaseViewController.xib)中使用 UINavigationController 而不是 MainWindow.xib 我看不到导航栏。

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller navigation xib


    【解决方案1】:

    我不知道您是想将导航控制器直接连接到您的窗口,只是从第二个 XIB(应该可以工作),或者您是否正在使导航控制器成为另一个视图的子视图,这赢得了不行。

    UINavigationController 仅用作UIWindow 的主要子视图或UITabController 的子视图。 Apple 不希望您在其他上下文中嵌入导航控制器。

    有关详细信息,请参阅 View Controller 编程指南中的 Combined View Controller Interfaces

    【讨论】:

    • 嗨 Seamus,这是否意味着在我的 UISplitViewController 的DetailedViewController 中,我不能有一个 UINavigationController 和一个 UIViewController 接口 UITableView 因为我无法连接 navigationController 子视图?我可以在详细视图中显示 UINavigationController,但 tableview 本身似乎没有呈现。
    • 组合视图控制器接口现在可以在这里找到:developer.apple.com/library/ios/#documentation/WindowsViews/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多