我在我的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