Swift TableView Population



我有一个表视图控制器,我正在使用故事板进行设计。原型单元是非常基本的,它只有两个标签。名称标签和日期标签。

当我运行我的程序时,样式在那里(字体等(,但似乎约束不起作用?此外,单元格颜色不显示(仅显示表视图背景(,并且单元格分隔符丢失。标签相互重叠,当我将单元格高度设置为 75 时,它看起来并不高。

这是我的单元格编译的样子: 在此处查看表格视图

我为表格视图单元格制作了一个模型,如下所示(IdeaCell 在情节提要中的原型单元格上正确设置(:

class IdeaCell: UITableViewCell {
@IBOutlet weak var ideaNameLbl: UILabel!
@IBOutlet weak var ideaDateLbl: UILabel!

override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if selected {
self.layer.backgroundColor = UIColor(white: 1, alpha: 0.2).cgColor
} else {
self.layer.backgroundColor = UIColor.clear.cgColor
}
}
func configureCell(idea : CoreIdea) {
let name = idea.name
ideaNameLbl.text = name
let date = idea.date
ideaDateLbl.text = date
}
}

我的表视图视图控制器相关代码在这里(重用标识符(ideaCell(在情节提要中的原型单元格上正确设置(:

class IdeaVC: UITableViewController { 
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: "ideaCell", for: indexPath) as? IdeaCell {
let idea = ideas[indexPath.row]
cell.configureCell(idea: idea)
return cell
} else {
return UITableViewCell()
}
}
}

更新: 添加 heightForRowAt 函数后,我的单元格是适当的高度,约束正在按预期工作。由于某种原因,单元格背景颜色丢失,并且单元格分隔符未出现(字体和字体颜色有效(。它们都设置在故事板中。

这是我的单元格的屏幕截图: 缺少单元格样式

更新 2: 我像这样设置分隔线和背景:

self.tableView.backgroundColor = UIColor.black
self.tableview.separatorColor = UIColor.white

希望这对某人有所帮助!老实说,我不知道为什么我在故事板中的值不起作用,但是将它们设置在viewDidLoad中效果很好。

您是否告诉过表格视图单元格的高度?如果没有试试这个。它是您的表视图委托方法之一。

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 75.0 //Set your cell height that you want to appear in your tableview
}

我认为您必须覆盖 Item 的数量和行在函数的高度。 并在名称和日期标签之间设置 UITableViewCell 的约束。

最新更新