テーブルビューの使い方について聞きたいのですが、
下記ソースを想定した、1行のセル内に複数のボタンを配置させたとき、
どのボタンが配置されたかのイベントを上位のクラス(ViewControllerなど)で判別することは可能でしょうか?
方法が分からず、行き詰ってます。ご教授ください。
VIewController.swift
class ViewController:UITableViewController{ ・・・ // セルの内容を設定するメソッド override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if(indexPath.row == 0){ // 【注目】 let cell = tableView.dequeueReusableCell(withIdentifier: "testcell", for: indexPath) as! myCusutomCell return cell ・・・・ } ・・・・ } // myCusutomCellの中にある複数のボタンのタップ情報をここで(ViewController内で)受けたい } // testcell class myCusutomCell:UITableViewCell{ button1 ~ button2 ~ button3 ~ }
myCusutomCellのDelegateを作成すればいいかと思います。Swift Delegate等でぐぐれば大量に作り方が書いてあるかと思います。
myCusutomCellのボタン数が可変の場合に、どのボタンかを区別する方法が分からず悩んでます。。。
同じIBActionを使用し、tagの番号で判断することができます。
IBActionがコールされません
myCusutomCellの中で、横長スクロールビューを配置し、さらにその上に複数のUIVViewを配置、その中にUIButtonを配置するという構成を取っております。
myCusutomCellの中にIBActionを定義してもコールされませんでした。
myCusutomCellの中にIBActionを定義した後、接続しましたか?
接続されているならコードとそのスクショを貼ってください。
また試したことは随時質問に追記していってください。
ここの欄はあくまでも回答者が質問者に質問や依頼するためのものです。
> myCusutomCellの中にIBActionを定義した後、接続しましたか?
無知ですみません。接続というものが分かりません。buttonはストーリーボード上ではなく、
コード上で配置したので、IBActionという概念は存在しないのではないでしょうか
失礼ですが、swiftのチュートリアルや初心者参考書等は行った事がありますか?答えるのは簡単ですが最低限の知識をつけてから質問することをおすすめします。
参考書にはストーリーボード上にボタンを置いた場合のみのやり方しか乗ってませんでした。
スタックオーバーフローで聞いてみたらいかがですか?
回答1件
あなたの回答
tips
プレビュー