在一个View Controller上使用静态单元格和动态表视图的表视图

时间:2013-12-31 17:04:32

标签: ios objective-c

我有一个视图控制器,其中包含一个包含所有<UITableViewDelegate><UITableViewDataSource>内容的动态表。现在,我有另一个有静态单元格的表。它在同一个视图中,但它不是同一个表。由于我已经实现了所有表视图委托,因此静态单元显然不会显示。我如何修复它以便我有两个表视图?

谢谢!

~Carpetfizz

3 个答案:

答案 0 :(得分:1)

您可以使用tag的{​​{1}}属性来解决您的问题。

以编程方式分配此类标记。您也可以在XIB中分配UIView

tag

现在在您的委托中检查tableView1.tag = 1; tableView2.tag = 2; tag的{​​{1}}属性并编写条件代码。

tableView

答案 1 :(得分:1)

为每个表添加一个标记,并在- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath方法中检查tableview,然后适当地分配单元格。

答案 2 :(得分:1)

除了tag方法之外,您还可以为View Controller中的每个TableView保留一个属性,然后检查委托和数据源方法中的引用,例如

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == self.staticTableView) {
        //handle click on static tableview cell
    } else if (tableView == self.dynamicTableView) {
        //handle click on dynamic tableview cell
    }

}

我认为这有点清晰,因为您不必记住表格的标签(或使用常量或枚举来跟踪它们)。