在CellForRowAt中包含自定义UIView的nib文件,同时滚动生成混蛋

时间:2017-09-27 02:42:47

标签: ios uitableview uiview scroll nib

我有一个UITableView,我在一个" CellForRowAt"中包含了我的自定义UIView的nib文件。委托在滚动时产生混蛋的tableView函数。例如:

CACHE

如何修复滚动以及代码中的问题? 感谢

1 个答案:

答案 0 :(得分:0)

cell.customViewPlacement.addSubview(customView)

这不是你在cellForRow中创建单元格和重用的方式,你基本上是创建新视图并在每次单元格滚动时添加它(不断复制),从而使它变得笨拙,你必须创建你的单元格使用该视图的nib,并在viewDidLoad中注册您的nib文件,如:

tableView.register(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "CustomCell")

并且在cellForRow只是像往常一样出列:

let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! CustomCell

如果您有许多不同类型的单元格,请将多个单元格设为类,而不是创建新视图并添加到当前单元格