2015-11-12 41 views
0

我正在使用函數來構建自定義單元格。用於創建單元格的函數是「makeMyList」。步進器我已經成功增加和減少itemQuantity textField。我遇到的麻煩是更新「itemPrice」標籤。我希望itemPrice.text成爲數量*價格,並隨着數量動態上升或下降而動態更新。Swift步進器更改同一單元格內的UITextField和UILabel的動作

有人可能幫助我如何讓這種情況發生?

預先感謝您!

class MyListTableViewCell: UITableViewCell 
{ 
    @IBOutlet weak var itemPrice: UILabel! 
    @IBOutlet weak var itemName: UILabel! 
    @IBOutlet weak var itemQuantity: UITextField! 
    @IBOutlet weak var stepper: UIStepper! 

    @IBAction func itemQuantityStepper(sender: UIStepper) 
    { 
     self.itemQuantity.text = Int(sender.value).description 
    } 

    override func awakeFromNib() { 
     super.awakeFromNib() 
    } 

    func makeMyList(myItem: MyList) 
    { 
     self.itemName.text = myItem.MyItemName 
     self.itemPrice.text = String(stepper.value * Double(myItem.MyItemPrice)) 
    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
    } 
} 
+0

只需更新'itemQuantityStepper'函數中的'itemPrice.text'。 – rmaddy

+0

@rmaddy我已經試過了。 itemQuantityStepper不能將(myItem:MyList)作爲參數。所以在這樣做的價值只會增加。如果嘗試減少,它將保持先前遞增的值。 – yumyum

+0

保存對「MyList」或其價格的引用作爲實例變量。然後你可以在'itemQuantityStepper'方法中引用它。 – rmaddy

回答

0

對於有同樣問題的人。這是我自己問題的答案。

希望它有幫助!

class MyListTableViewCell: UITableViewCell 
{ 
    @IBOutlet weak var itemPrice: UILabel! 
    @IBOutlet weak var itemName: UILabel! 
    @IBOutlet weak var itemQuantity: UITextField! 
    @IBOutlet weak var stepper: UIStepper! 

    var price: Float = 0.0 
    var quantity: Int = 1 


    override func awakeFromNib() { 
     super.awakeFromNib() 
    } 

    func makeMyList(myItem: MyList) 
    { 
     self.itemName.text = myItem.MyItemName 
     self.itemPrice.text = myItem.MyItemPrice 

     price = Float(myItem.MyItemPrice) 
    } 

    @IBAction func itemQuantityStepper(sender: UIStepper) 
    { 
     quantity = Int(sender.value) 
     self.itemQuantity.text = String(quantity) 
     self.itemPrice.text = price * Float(quantity) 
    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
    } 
} 
相關問題