【发布时间】:2020-02-07 08:34:47
【问题描述】:
我有一个 tableview 控制器,我正在使用 Storyboard 进行设计。原型单元非常基本,它只有两个标签。名称标签和日期标签。
当我运行我的程序时,样式就在那里(字体等),但似乎约束不起作用?此外,不显示单元格颜色(仅显示表格视图背景),并且缺少单元格分隔符。标签相互重叠,当我将单元格高度设置为 75 时,它看起来并不那么高。
这是我的单元格编译后的样子: See tableview here
我为表格视图单元格制作了一个模型,如下所示(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
}
}
我的tableview视图控制器相关代码在这里(重用标识符(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 函数后,我的单元格是正确的高度,并且约束正常工作。由于某种原因,单元格背景颜色丢失,并且单元格分隔符没有出现(字体和字体颜色有效)。它们都设置在故事板中。
这是我的单元格的屏幕截图: missing cell style
更新 2: 我这样设置分隔线和背景:
self.tableView.backgroundColor = UIColor.black
self.tableview.separatorColor = UIColor.white
希望这对某人有所帮助!老实说,我不知道为什么故事板中的值不起作用,但是将它们设置在 viewDidLoad 中效果很好。
【问题讨论】:
标签: ios swift uitableview model storyboard