我有一个项目接近做我需要做的一切。它有一个主页面,有四个按钮,您可以选择一个选项。然后从这些选项启动tableview页面,并显示来自网站的已解析XML提要。然后,您可以选择表格中的一个选项以查看项目的详细视图,查询该项目等。
我的问题是我需要向TableViewController页面添加更多元素,而不是tableview本身。我想要一个自定义的后退按钮(不是导航控制器标准)加上一些标签,图像等。
在TableViewController xib中,tableview本身填充页面。我无法调整大小以在其上方添加更多元素。我可以在tableview上方添加一个“视图”窗口并将其放入其中。但它似乎将视图添加到tableview。这意味着当我滚动表格时,其他元素如新的后退按钮,作为表格的一部分滚动。
所以我想知道我是否需要这个页面不是一个tableviewcontroller,而是一个viewcontroller,里面有一个tableview,以及带按钮的其他视图等。这是正确的方法吗?但如果是这样,那么如何在代码中实例化tableviewcontroller?因为我的页面不再是那种类型了 - 它只是一个viewcontroller。但是在代码中我制作了一个tableviewcontroller ..稍微被这条路线吓到了。
对此的任何启发都会非常感激,因为各种搜索都没有让我更聪明。感谢。
答案 0 :(得分:1)
要自定义它,这是要走的路:
在您控制器的视图didLoad中,创建表视图,设置其委托,数据源以及您希望的任何其他属性,并将其作为子视图添加到视图中。
tableView = [[[UITableView alloc] init] autorelease];
tableView.delegate = self;
tableView.dataSource = self;
// .. Other customization
[self.view addSubview:tableView];
我建议以编程方式而不是IB方式进行此操作。
答案 1 :(得分:0)
您需要一个具有IBOutlet UITableView的UIViewController,而不是UITableViewController。从Storyboard拖放UITableView组件并将其挂起,并根据需要在屏幕上定位它。这个UIViewController应该实现UITableViewDelegate和UITableViewDataSource方法。
编辑:请记住,UITableViewController只是UIViewController的子类,因此您不必真正摆脱所有代码。 :)您只需要对标题和主文件进行微调,并将Storyboard更改为UIViewController而不是UITableViewController,如上所述。