UITableview有2个单元格

时间:2017-01-19 16:51:09

标签: ios uitableview

我正在尝试在tableview上构建一个包含2个单元格的应用程序 标题将包含标题,第二个标题将包含正常的标记。

我的问题是如何连接这两个单元格 原始Feed的代码正在运行

示例:

private void TB_Product_ID_Leave(object sender, EventArgs e)
{
    SelectedProductData();
}

MainStoryBoard

2 个答案:

答案 0 :(得分:0)

您可以通过为两个单元格填充纯色(如白色)并将“表格视图”分隔符设置为无。

tableView.separatorStyle = .none

如果你想创建一个严重的组合单元格,然后将视图添加到第二个单元格的底部,即Feed Row,并用其他颜色填充该视图,如灰色。此视图将作为严重的分隔符。

答案 1 :(得分:0)

我建议你让你的tableview在故事板中为空。 (删除所有单元格)

我通常做的事情,以及我觉得在代码和文件方面更灵活,更清晰,总是使用自定义单元格。

为您需要的每种单元格类型创建UITableViewCell的子类(此处为2)。一个可能是HeaderCell,另一个可能是FeedCell

如果您使用"创建UITableViewCell类"我想你可以在Xcode中找到它(很久没有使用它),它应该为你创建一个类,以及一个.xib文件。如果您没有相应的.xib,只需创建并手动链接即可。

.xib文件是您放置标签,连接插座以及管理所需内容的地方。那就是你重拍你删除的单元格的地方。我认为你实际上可以在xib中剪切和粘贴,它可能会起作用。

现在您有一个自定义类及其相应的xib,您可以将其用作单元格。

确保您的tableview在storyboard中作为委托和数据源连接(它应该已在您的设置中完成)。

ViewDidLoad中,您需要将所有单元格类注册到tableview。

使用this method call on your tableview property (outlet)

完成

我不确定如何在swift中写它,但它是 伪代码中的MyTableView.Register(nib, key)

这两个参数都来自您的自定义单元格类(它是.Nib和类名,您可以硬编码)。我通常会把MyHeaderCell.Nib和MyHeaderCell.Key放在静态的,但你可以随心所欲地做。

既然您的tableview知道它必须显示的单元格,您只需要在cellForRow方法中管理它。

只需按索引执行:

var cell;
if (indexPath.Row == 0)
    {
        cell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell", for: indexPath) as! HeaderCell
    }
    else
    {
        cell = tableView.dequeueReusableCell(withIdentifier: "FeedCell", for: indexPath) as! FeedCell

    }

    let post  = self.posts[indexPath.row]
    cell.title.text = post.title

    return cell

然后你去:)

我从来没有做过迅速,所以肯定存在语法错误,但这个想法就是你应该怎么做。