2017-03-02 8 views
0

私のカスタムUITableViewCellがあり、私はカスタムセルにUIStepperとUILabelを持っています。どのステッパーがクリックされたかを確認する方法はわかりません。どのセルステッパーがクリックされたかを知る方法はありますか?私はあなたがタグを使用することができ、このuitableviewcellにuiStepperを追加するには?

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 
let data = ["111111", "2222222","3333333"] 

public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{ 
return(data.count) 
} 
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
{ 

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell 
    cell.lb1.text = data[indexPath.row] 
    cell.stepper.tag = indexPath.row 
    cell.stepper.addTarget(self, action: #selector(stepperA(sender:)), for: .valueChanged) 
    return (cell) 

} 
func stepperA (sender: UIStepper){ 


    print("stepper \(sender.tag) clicked. Its value \(sender.value)") 
} 











override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

答えて

1

をしようとした迅速3.

を使用しています。ここにはcellForRowAtの例とあなたのステッパーアクション関数があります。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell: StepperTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! StepperTableViewCell 

    //stepper is your UIStepper reference from StepperTableViewCell 
    cell.stepper.tag = indexPath.row 
    cell.stepper.addTarget(self, action: #selector(stepperAction(sender:)), for: .valueChanged) 

    return cell 
} 
func stepperAction(sender: UIStepper) { 
    print("Stepper \(sender.tag) clicked. Its value \(sender.value)") 
} 

、その出力

Stepper 0 clicked. Its value 1.0 
Stepper 1 clicked. Its value 1.0 
Stepper 0 clicked. Its value 2.0 
Stepper 0 clicked. Its value 3.0 
Stepper 3 clicked. Its value 1.0 
+0

私は迅速に新たなんだと私は私のqustionに私のコードを追加しましたが、そのあなたはすべてのエラーを手に入れた –

+0

を働いていない、あなたに感謝? – theduman

+0

私はステッパーをクリックするとアプリケーションがシャットダウンし、簡単なアプリケーションを作成して、オープンソースを教えて、間違っている場所を確認できますか –

関連する問題