Swiftのユーアイテーブルビューのカスタムセルにボタンを作ったのですが、ボタンが押された時に、そのボタンは何番目のセルであるのかというような情報は、どのようにして取得すれば良いのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
カスタムセルにIndexPath
の変数をもたせて、セル作成時に設定してあげることで位置か分かります。
- 例
swift
1class SampleVC: UIViewController, UITableViewDataSource { 2 3 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 4 return 1 5 } 6 7 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 8 if let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as? CustomCell { 9 cell.indexPath = indexPath 10 return cell 11 } 12 return UITableViewCell() 13 } 14} 15 16class CustomCell: UITableViewCell { 17 var indexPath: IndexPath? 18 19 @IBAction func tapButton(_ sender: UIButton) { 20 if let indexPath = indexPath { 21 print("Section =(indexPath.section), Row = (indexPath.row)") 22 } 23 } 24}
投稿2018/07/14 11:06
編集2018/07/14 11:06総合スコア8490
0
ベストアンサー
手っ取り早くやりたいのであれば、ボタンのタグにそのセルのindexを持たせてしまうのが良いかと思います。
投稿2018/07/14 11:07
総合スコア70
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
恐らくとても初歩的な質問で申し訳ないのですが、その場合
IBaction
の{}の中では、そのタグの数値はどのように呼び出せば良いのでしょうか?
2018/07/14 11:54
勘違いをされているかもしれませんが、_Kentarouさんのやり方と僕の言ったやり方は違います。タグに関しては、sender.tagで確認することができると思います。
2018/07/14 12:20
sender.tagを使うのですね!
ありがとうございます!
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。