【问题标题】:UINavigationController from scratch?UINavigationController 从头开始​​?
【发布时间】:2011-02-22 14:19:40
【问题描述】:

我有一个运行良好的基于​​视图的应用程序。 (换句话说,我不会从基于导航的应用程序模板重新开始。)

这是一种沉浸式应用程序,我正在尝试添加一个表格视图,当按下按钮时,它会在新视图中加载。

加载笔尖部分有效,但我似乎无法将导航控制器添加到新视图。我想在顶部看到一个导航栏,上面有一个完成按钮和一个编辑按钮。另外,我希望表视图条目为空。

  • 我添加了一个新文件,如下所示: File-> New File -> UINavigationController subclass。我检查了 UITableViewController 子类和With XIB for user interface.

当视图被拉起时,我看到的只是一个空白的表格视图。我可以在视图控制器中自定义内容。

如何使表格显示导航栏并可以编辑?请给我一些指导。

编辑:我正在使用最新的公共 SDK。 (XCode 3.2.2)

【问题讨论】:

    标签: iphone uitableview uiview uinavigationcontroller


    【解决方案1】:

    导航栏通常带有导航控制器,而不是表格视图控制器。

    您可以手动添加导航栏,但这需要更改表格视图,将其更改为仅包含表格视图的常规视图,并将表格视图控制器更改为手动的常规视图控制器处理表格视图的东西。

    更简单的替代方法是在显示之前将表视图控制器包装在导航控制器中。比如:

    MyTableViewController *myViewController = [[MyTableViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
    [myViewController release];
    
    //Now display navigationController instead of myViewController, using something like:
    [self presentModalViewController:navigationController animated:YES];
    

    【讨论】:

    • initWithRootViewController 是不是完成后会自动释放的便捷方法?
    • 它只是创建了一个包含视图控制器(在本例中为表视图控制器)的导航控制器对象。但是,由于它是一个init方法,您需要稍后自己释放它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 2022-07-25
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多