我有一个用于显示某些产品的tableview,产品可能有或没有折扣,折扣(最多2个)被分组在stackView中,因此在代码中我隐藏或显示堆栈视图(如果产品有折扣)。
当我插入一个新的单元格时,问题出现了,突然,持有折扣产品的单元格没有显示堆栈视图。
我尝试了2种方法使细胞出列, 当我使用时,
tableView.dequeueReusableCell(withIdentifier:, forIndexPath)
插入时出现问题 但是当我使用时,
tableView.dequeueReusableCell(withIdentifier:)
插入时出现问题消失,但当我向下滚动以使单元格不可见并向后滚动时再次出现。
这是行的单元格中的代码:
let basicCell = tableView.dequeueReusableCell(withIdentifier: "basicCell") as! BasicCell
if product.discounts{
basicCell.discountType = DiscountType.lineDiscount
}else{
basicCell.discountType = DiscountType.none
}
basicCell.configureCellType()
return basicCell
configureCellType()的代码:
func configureCellType(){
switch discountType! {
case .none:
discountStackView.isHidden = true
case .lineDiscount:
groupDiscountView.isHidden = true
case .groupDiscount:
lineDiscountView.isHidden = true
case .bothDiscounts: break
}
}
答案 0 :(得分:0)
问题实际上在你的configureCellType()
函数中。
每个案例都隐藏了一个堆栈视图..检查出来