【问题标题】:Question regarding to Navigation Controller关于导航控制器的问题
【发布时间】:2010-07-24 07:43:55
【问题描述】:

大家好,我最近在尝试使用导航控制器,但遇到了一些问题,想在这里寻求帮助。

我打开了一个新项目并使用基于视图的应用程序。之后我从库中添加了一个导航控制器,然后我构建并运行,为什么我在模拟器上看不到导航栏?我只看到一个白色的视图...

有人知道发生了什么吗?

【问题讨论】:

    标签: iphone iphone-sdk-3.0


    【解决方案1】:

    鉴于您确实没有提供任何上下文,这很难回答。尽管如此,您很有可能忘记将导航控制器视图添加到您的窗口(应该在 AppDelegate applicationDidFinishLaunching 中):

    UIWindow* mainWindow ...
    UINavigationController* navigationController ...
    
    [mainWindow setRootViewController:navigationController]
    

    这也可以使用 Interface Builder 进行连接。

    【讨论】:

    • 如果我不想使用 UIWindow 可以吗?因为实际上我正在使用一个导航控制器来调用另一个。这意味着我正在使用 XIB 1 的导航控制器来调用 (pushViewController) XIB 2 .. 但 XIB 2 中的导航控制器没有出现:(
    • 您的应用程序中总是有一个(并且没有更多)UIWindow。把它想象成“屏幕”。
    • 我一直在两个视图之间切换然后我的程序崩溃了:(就像现在我从 XIB 1 到 XIB 2,然后从 XIB 2 到 XIB 1,然后我又来自XIB 1 到 XIB 2,它会崩溃。是因为我没有清理吗? PhotoNotesViewController *photoNotesViewController = [[PhotoNotesViewController alloc] initWithNibName:@"PhotoNotesViewController" bundle: nil]; [mainViewController presentModalViewController:photoNotesViewController animated:NO]; [ photoNotesViewController release]; // 这就是我如何将视图从视图 1 更改为视图 2,从视图 2 更改为视图 1 我只需调用dismiss
    【解决方案2】:

    我一直在两个视图之间切换然后我的程序崩溃了:( 就像现在我从 XIB 1 到 XIB 2,然后从 XIB 2 到 XIB 1,然后我又从 XIB 1 到 XIB 2,它会崩溃。

    是因为我没有清理的东西吗?

    PhotoNotesViewController *photoNotesViewController = [[PhotoNotesViewController alloc] initWithNibName:@"PhotoNotesViewController" bundle: nil]; 
    [mainViewController presentModalViewController:photoNotesViewController animated:NO]; [photoNotesViewController release]; 
    

    // 这就是我如何将视图从视图 1 更改为视图 2,从视图 2 更改为视图 1 我只需调用dismissModal

    【讨论】:

      【解决方案3】:

      首先你已经像这样创建了 UINavigationController 对象。

      UINavigationController* 导航控制器;

      在 .h 文件上 比 sys this . 它会工作

      【讨论】:

        猜你喜欢
        • 2012-06-11
        • 1970-01-01
        • 2015-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多