0

我有一个项目接近做我需要做的一切。它有一个主页,其中有四个按钮,可让您选择一个选项。然后从这些选项启动一个 tableview 页面,并显示来自网站的已解析 XML 提要。然后,您可以选择表中的选项之一来查看项目的详细视图、查询项目等。

我的问题是我需要向 TableViewController 页面添加更多元素,而不是 tableview 本身。我想要一个自定义的后退按钮(不是导航控制器标准)加上一些标签、图像等。

在 TableViewController xib 中,tableview 本身填充页面。我无法调整它的大小以在其上方添加更多元素。我可以在表格视图上方添加一个看似“视图”的窗口并将东西放入其中。但它似乎将视图添加到 tableview。这意味着当我滚动表格时,新的后退按钮等其他元素会作为表格的一部分滚动出去。

所以我想知道我是否需要这个页面不是tableviewcontroller,而是一个viewcontroller,里面有一个tableview,以及我的其他带有按钮的视图等。这是正确的方法吗?但如果是这样的话,那么我如何在代码中实例化 tableviewcontroller 呢?因为我的页面将不再属于那种类型 - 它只是一个视图控制器。但是在代码中,我正在制作一个 tableviewcontroller .. 有点被那条路线吓到了。

对此的任何启发都将不胜感激,因为各种搜索让我一点也不聪明。谢谢。

4

2 回答 2

1

要自定义它,这是要走的路:

  • 将您的类改为视图控制器,它实现了 TableViewDelegate 和 TableViewData Source 协议。
  • 在您的控制器的视图 didLoad 中,创建表视图,设置其委托、数据源和您希望的任何其他属性,并将其作为子视图添加到您的视图中。

    tableView = [[[UITableView alloc] init] autorelease];
    tableView.delegate = self;
    tableView.dataSource = self;
    // .. Other customization
    [self.view addSubview:tableView];
    

我建议以编程方式而不是 IB 来执行此操作。

于 2012-04-05T08:50:54.097 回答
0

您需要一个具有 IBOutlet UITableView 的 UIViewController,而不是 UITableViewController。从 Storyboard 中拖放一个 UITableView 组件并将其连接起来,并根据需要将其放置在屏幕上。这个 UIViewController 应该实现 UITableViewDelegate 和 UITableViewDataSource 方法。

编辑:请记住 UITableViewController 只是 UIViewController 的子类,因此您实际上不必摆脱所有代码。:) 你只需要对你的头文件和主文件进行细微的调整,并将 Storyboard 更改为 UIViewController 而不是我上面提到的 UITableViewController。

于 2012-04-05T08:48:00.760 回答