2016-04-07 8 views
1

UITableView内でのスクロールに問題があります。 この表では、2つのラベルと2つのボタンを持つカスタムUITableViewCellを作成しました。 最初のラベルは製品名で、2番目のラベルは金額です。 2つのボタンは+(プラス)と - (マイナス)ボタンです。TableViewがスクロールしたときのカスタムUITableViewCellの変更

状況

アプリオーダーシステムです。顧客が製品を望むとき、彼/彼女はプラスボタンをタップする。マイナスボタン が表示され、金額ラベルは1(0から1、または1から2など)で増加します。

問題

テーブルを介してユーザがスクロール、プラスボタンを介して、「選択」されたセルに他のセルの変更。 これにより、ユーザは、金額のある商品を見ているうちに商品を見ることは全くありません。

-

私は「さわやか」TableCellsからテーブルビューを防ぐために何ができますか?

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 
} 

あなたは店の量にモデルオブジェクトを使用して、モデルに応じてすべてのセルを更新する必要があります

+0

ボタンのクリックで呼び出されるプラスとマイナスの関数を表示する必要がありますが、私の推測ではビューに値を格納していますが、ビューをスクロールすると別の製品のモデルで再利用されます。ビューを更新してもモデルが無効にならないように、すべての値をモデルに保存する必要があります。 – Putz1103

答えて

1

productArrayなどに変更されている値を保存し、cellForRowAtIndexPathでこの値をセルに復元する必要があります。

1

:-)協力いただきありがとうございます。ビューにデータを格納するのは間違いです。

関連する問題