我将UIViews加载到我的tableview单元格内容视图中,但是当我滚动浏览我的tableview时,只有一个单元格加载其视图。它为每个单元格加载正确的视图,但它只加载一个,然后从底部出现一个新单元格后消失。所有数据都通过函数makeTableViewRowView
(填充uiview的字符串数组)在本地加载。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: expenseCell, for: indexPath)
tableViewRow = makeTableViewRowView(indexPath: indexPath)
tableViewRow.translatesAutoresizingMaskIntoConstraints = false
cell.contentView.addSubview(tableViewRow)
cell.selectionStyle = .none
let margins = cell.contentView.layoutMarginsGuide
tableViewRow.centerYAnchor.constraint(equalTo: margins.centerYAnchor).isActive = true
tableViewRow.leadingAnchor.constraint(equalTo: margins.leadingAnchor).isActive = true
tableViewRow.trailingAnchor.constraint(equalTo: margins.trailingAnchor).isActive = true
tableViewRow.heightAnchor.constraint(equalToConstant: 40).isActive = true
return cell
}
答案 0 :(得分:0)
在界面构建器和deque
中创建自定义单元格。并根据cellForRowAtIndexPath
中该单元格的要求进行更改!因为cellForRowAtIndexPath
将在您的单元格为deque
时被调用,我的意思是单元格将被重用!因此,在cellforrow
中创建视图并将其添加为子视图并不是一个好的解决方案,您可以直接从界面构建器添加,并可以根据需要在cellforrow
中对其进行操作!