・やりたいこと
UITableViewCell内にあるボタンを長押ししたときの処理を実装したい
・試したこと
ボタンにLongPressGestureRecognizerを設定して、IBActionを実装してみた
・現状
画面の初期表示の段階でエラーが出てしまう
→'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (listCells) - nib must contain exactly one top level object which must be a UITableViewCell instance'
初心者でわからないことだらけですが、よろしくお願いします。
swift
1 2import UIKit 3 4class listCell: UITableViewCell, UITextFieldDelegate { 5 @IBOutlet weak var myTextField: UITextField! 6 @IBOutlet weak var myButton: UIButton! 7 8 func cellDisplay(indexNum: IndexPath){ 9 self.myTextField.tag = indexNum.row 10 self.myButton.tag = indexNum.row 11 self.myTextField.delegate = self 12 } 13 14 @IBAction func touchButton(_ sender: Any) { 15 print("touch:",myButton.tag) 16 } 17 18 @IBAction func longPress(_ sender: UILongPressGestureRecognizer) { 19 print("long:",myButton.tag) 20 } 21} 22
ボタンに LongPressGestureRecognizer を設定しているのはどこでしょうか?
エラーの内容は nib ファイルがおかしい(トップレベルオブジェクトが複数ある、または UITableViewCell でない)と言ってますので、nib の内容をご確認ください。
また、クラス名は大文字で始める(listCell ではなく ListCell)ことをお勧めします。
storyboardでmyButtonに対してLongPressGestureRecognizerを設定しています。
UITableViewCellにはLongPressGestureRecognizerが設定できないとかでおかしくなっているんでしょうか?
クラス名は特に考えていませんでしたありがとうございます。
回答1件
あなたの回答
tips
プレビュー