2つのセクションを持つUITableViewがあります。最初のセクションでは、私は左に表示するように作成したUIViewを望んでいません。それは最初にロードするときにうまく動作しますが、画面から離れて再びオンになると再び表示されます。スクロールした後にUITableViewCellで表示が再現される
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
{
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! ATableCell;
cell.delegate = self;
if (indexPath.section == 1)
{
// let height = cell.bounds.size.height;
let height = 100;
let turnsView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: height));
turnsView.backgroundColor = UIColor.purple;
cell.addSubview(turnsView);
}
else
{
let height = 100;
let turnsView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: height));
turnsView.backgroundColor = UIColor.clear;
cell.addSubview(turnsView);
}
// Configure the cell...
cell.backgroundColor = UIColor.clear;
cell.textLabel?.text = "texting";
cell.detailTextLabel?.text = "testing";
}
最初のセクションに紫色のビューが表示されないようにします。
ビューにタグを割り当て、タグを作成する前にif-letステートメントを使用して、それらがセルに既に存在する場合は削除します。スクロールが始まると、自分のセルにuilabelsが再び現れていたのと同様の問題がありました。 – Rishabh