Ios 带2个单元格的UITableview

Ios 带2个单元格的UITableview,ios,uitableview,Ios,Uitableview,我正在尝试在tableview上构建一个包含2个单元格的应用程序 标题将包含标题,第二个标题将包含正常提要 我的问题是如何连接这两个细胞 原始提要的代码正在运行 例如: // MARK: - Table view data source override func numberOfSections(in tableView: UITableView) -> Int { // #warning Incomplete implementation, ret

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

我的问题是如何连接这两个细胞 原始提要的代码正在运行

例如:

      // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return self.posts.count
    }


    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell

        // Configure the cell...
            let post  = self.posts[indexPath.row]
            cell.title.text = post.title?.utf8Data?.attributedString?.string
            if let imageUrl = post.imageUrl {
                cell.imgView?.downloadImage(from: imageUrl)
            }
            let myFormatter = DateFormatter()
            myFormatter.dateStyle = .none
            myFormatter.timeStyle = .short
            cell.pubDate.text = myFormatter.string(from: post.pubDate!) // What gives?

        return cell
    }
}

您可以为单元格填充纯色,如白色,并将“表格视图分隔符”设置为“无”

tableView.separatorStyle = .none

如果要创建一系列这样的组合单元格,则在第二个单元格的底部添加一个视图,即提要行,并用其他颜色(如灰色)填充该视图。此视图将用作严重事件的分隔符。

我建议您在情节提要中清空tableview。(删除所有单元格)

我通常做的,而且我觉得在代码和文件方面更灵活、更干净的,就是总是使用自定义单元格

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

如果您使用“CreateUITableViewCell类”,我认为您可以在Xcode中找到(很久没有使用它了),它应该为您创建类以及.xib文件。如果没有相应的.xib,只需创建它并手动链接它

在.xib文件中,您可以放置标签、连接插座并保存所需的所有内容。在这里,您将重新生成先前删除的单元格。我认为你实际上可以在锡伯中剪切和粘贴,这可能会起作用

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

确保tableview在序列图像板中作为代理和数据源连接(应该已经在设置中完成)

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

这是通过使用

我不知道如何用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
你看:)


我从来没有做过swift,所以肯定会有语法错误,但问题是你应该怎么做。

连接两个单元格是什么意思?谷歌原型单元格。。您的原型单元需要一个固定的reuseIdentifier,这样您就可以在cellForRow.oh中实例化正确的一个,并且计数是关闭的。。你有n篇文章+1条标题。。所以你有一个小细胞。看起来这并不能回答问题。我相当肯定OP(原始海报)想知道如何将单元格连接到code.me;)我写这篇评论,但谁知道呢;)op应该说他想要什么他想要两种类型的单元格,第一种类型应该始终是页眉类型,其他类型应该是提要类型。我很确定这与分隔符无关,标题是否应该与
表视图的其余部分一起滚动?如果没有,只需定制headerview即可。