我在UITableView中滚动时遇到问题。
对于此表,我创建了一个带有2个标签和2个按钮的自定义UITableViewCell。
第一个标签是产品名称,第二个标签是金额。 2个按钮是+(加号)和-(减号)按钮。

情况

该应用程序是一个订单系统。当客户想要产品时,他/她点击加号按钮。减号按钮
出现,金额标签以1增长(因此从0到1,或从1到2,依此类推)。

问题

当用户在表格中滚动时,其他单元格将变为通过加号按钮“选中”的单元格。
由此,用户看到了他/她根本不想要的商品。

-

如何防止TableView“刷新” TableCell?

cellForRowAtIndexPath方法:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("ProductenCell", forIndexPath: indexPath) as! ProductenCell
    let object = productArray[indexPath.row]
    cell.label.text = (object.valueForKey("productNaam") as! String)

    // Plus-button
    cell.plusKnop.addTarget(self, action: "productToevoegen:", forControlEvents: .TouchUpInside)
    cell.plusKnop.tag = indexPath.row

    // Minus-button
    cell.minKnop.addTarget(self, action: "productVerwijderen:", forControlEvents: .TouchUpInside)
    cell.minKnop.tag = indexPath.row

    // Grey backgorund fo even cells
    if ((indexPath.row % 2) == 1) {
        cell.backgroundColor = UIColor(red: 0.961, green: 0.961, blue: 0.961, alpha: 1)
    }

    return cell
}

谢谢您的帮助 :-)

最佳答案

您需要将要更改的值保存到productArray或其他地方,然后在cellForRowAtIndexPath中将此值还原到单元格中。

关于ios - 自定义UITableViewCell在TableView滚动时发生更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36485133/

10-13 03:43