以编程方式将NavigationBar添加到UITableViewController?

Ton*_*ony 4 iphone objective-c

我正在尝试创建一个uitableviewcontroller作为模态viewcontroller来编辑一些设置.我在代码中创建tableviewcontroller,我正在努力解决的问题是如何正确地向控制器添加导航栏,控制器上有一个"完成"按钮:

a)没有出现在tableview的顶部,b)没有滚动与tableview?

当我将导航栏添加到控制器时,会发生这种情况:[self.view addSubview:navigationBar]; 这会向控制器添加一个导航栏,它会在顶部显示并遮挡第一行的表格并同时滚动视图?

我还想过简单地使用带有单独tableview的uiviewcontroller但是我喜欢在编辑tableviewcontroller给你的文本字段时自动滚动tableview的功能.只是不知道如何设置这个导航栏?

谢谢

Jaa*_*nus 9

只需创建UINavigationcontroller作为模态视图控制器,并将tableview添加为其根视图控制器.


Jos*_*ian 6

使用导航控制器作为modalviewController(如另一个答案中所建议).这是代码:

UINavigationController *Controller = [[UINavigationController alloc] init];
            //LoginViewController is a sub class of UITableviewController
        LoginViewController *controller = [[LoginViewController alloc] init];
        Controller.viewControllers=[NSArray arrayWithObject:controller];

        [self presentModalViewController:Controller animated:YES];
        [controller release];
        [Controller release];
Run Code Online (Sandbox Code Playgroud)