Ios 带2个单元格的UITableview
我正在尝试在tableview上构建一个包含2个单元格的应用程序 标题将包含标题,第二个标题将包含正常提要 我的问题是如何连接这两个细胞 原始提要的代码正在运行 例如: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
// 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即可。