插入单元格后,Stackview隐藏在可重用的tableview单元格中

时间:2017-05-17 16:57:49

标签: ios swift uitableview tableviewcell stackview

我有一个用于显示某些产品的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
    }
}

1 个答案:

答案 0 :(得分:0)

问题实际上在你的configureCellType()函数中。 每个案例都隐藏了一个堆栈视图..检查出来