Iphone UINavigationController从头开始?

Iphone UINavigationController从头开始?,iphone,uitableview,uiview,uinavigationcontroller,Iphone,Uitableview,Uiview,Uinavigationcontroller,我有一个基于视图的应用程序,运行良好。(换句话说,我不会从基于导航的应用程序模板开始。) 这是一款身临其境的应用程序,我正在尝试添加一个表视图,当按下按钮时,它将加载到一个新视图中 加载nib部分是可行的,但我似乎无法将导航控制器添加到新视图中。我想在顶部看到一个带有“完成”按钮和“编辑”按钮的导航栏。另外,我希望表视图条目为空 我添加了一个新文件,如下所示: File->New File->UINavigationController子类。我检查了UITableViewController子

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

这是一款身临其境的应用程序,我正在尝试添加一个表视图,当按下按钮时,它将加载到一个新视图中

加载nib部分是可行的,但我似乎无法将导航控制器添加到新视图中。我想在顶部看到一个带有“完成”按钮和“编辑”按钮的导航栏。另外,我希望表视图条目为空

  • 我添加了一个新文件,如下所示:
    File->New File->UINavigationController子类
    。我检查了UITableViewController子类,并使用XIB查看用户界面。
当视图被拉起时,我看到的只是一个空白的表视图。我可以自定义视图控制器中的内容

如何使表格显示导航栏并可编辑?请给我指路


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

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

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

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

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];

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

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

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

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方法,您以后需要自己释放它。
initWithRootViewController
是一个方便的方法,完成后会自动释放自己吗?它只创建一个包含视图控制器(在本例中为表视图控制器)的导航控制器对象。但是,由于它是一个init方法,您需要稍后自己发布它。