我在我的UITableView
中出现了可重复使用的细胞功能出现了一些问题。 tableview有几个单元格,每个单元格都包含一个按钮。由于细胞再利用导致的重叠按钮
当我滚动时,单元格被重新创建,并且新按钮开始重叠旧按钮(直到我在同一个单元格中有一堆相同的按钮)。我听说你应该使用removeFromSuperview
函数来解决这个问题,但我不确定如何去做。
这里是我的应用程序的图片:
这里是cellForRowAtIndexPath
(其中问题发生)
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath)
let nameLabel: UILabel = {
let label = UILabel()
label.text = "Sample Item"
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
let actionButton = YSSegmentedControl(
frame: CGRect.zero,
titles: [
"No",
"Yes"
])
您还没有发布'cellForRowAtIndexPath'的整个函数。你需要发布更多的功能。特别是,您将标签和按钮/分段控件添加到单元格的位。我怀疑你每次出队时都会添加这些项目,而不会删除它们。你的形象是否真的说明了这个问题?我看不到图像中的任何重叠按钮。 –
不建议在'cellForRowAt indexPath.'中创建或删除视图。 – Maddy