gpt4 book ai didi

swift - 将 xib View 显示到 UITableView 单元格中

转载 作者:搜寻专家 更新时间:2023-11-01 07:12:01 26 4
gpt4 key购买 nike

我在一个名为“ExperienceScreen”的主 ViewController 中加载的 xib 文件中创建了一个 View 。将此 xib View 添加到 ExperienceScreen 效果很好。问题是我想在 UITableViewCel 中添加这个 xib View 。我正在使用以下代码来执行此操作:

   let experiences = service.getExperiences()


// 3. Loop through the array of experiences
for element in experiences {

if let customView = Bundle.main.loadNibNamed("ExperienceDetail", owner: self, options: nil)?.first as? ExperienceDetail
{
customView.lblTitle.text = element.title
customView.lblCompany.text = element.company
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! as UITableViewCell
cell.addSubview(customView)
cell.bringSubview(toFront: customView)
}
}

tableView.reloadData()

启动时, subview 未显示在 UITableViewCell 中。 customView View 已正确填充 xib View 。我使用断点检查了这个。 enter image description here

有人知道我做错了什么吗?

非常感谢您的帮助!!

最佳答案

如果你想将你的 xib 文件显示为 UITableViewCell,那么下面的场景是可行的1. 确保你的 xib 类是 UITableViewCell 的子类。2.注册你的xib

//class of xib file
class TableCell: UITableViewCell {
static let identifier = "TableCell"
static let nib = UINib(nibName: "TableCell", bundle: nil)
}

// In view controller
func setupTableView() {
tableView.dataSource = self
tableView.delefate = self
tableView.register(TableCell.nib, forCellReuseIdentifier:
TableCell.identifier)
}

在 viewDidLoad() 中调用 setupTableView()

关于swift - 将 xib View 显示到 UITableView 单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44366078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com