2017-05-23 5 views
0

私はラベルをクリックすると、popoverメソッドを使用してストーリーボードからUIViewControllerを表示したいと思うテーブルビューがあります。私は得ていない、タップ認識部セレクタUITableViewCellからのポップアップを表示できません

func setupItemNameTapRecognizer(_ label:UILabel) { 
    label.isUserInteractionEnabled = true 
    let tapRecog = UITapGestureRecognizer(target: self, action: #selector(self.actionItemNameTap(_:))) 
    label.addGestureRecognizer(tapRecog) 
} 
func actionItemNameTap(_ sender:UIView) { 
    print("item tap") 
    let indexPath = IndexPath(row: sender.tag, section: 0) 
    let cell = tableView.cellForRow(at:indexPath) 
    self.showPopOverBox(cell: cell!) 
} 

内のコードを以下と私はラベルをクリックするたびに、私は、エラーがスローされ、次の取得

let cell = tableView.dequeueReusableCell(withIdentifier: "ItemContentCell", for: indexPath) as! ItemContentCell 
     setupItemNameTapRecognizer(cell.itemName) 
     cell.itemName.tag = indexPath.row 

     return cell 

CellForRowAtメソッドのコードを次しているいただきました!間違っ

[UITapGestureRecognizerタグ]:インスタンスに送信された認識できないセレクタ0x7fdc1867ee90 2017-05-23 17:36:23.871 InvoiceMaster [71236:14670269] ***キャッチされない例外によるアプリケーションの終了'NSInvalidArgumentException'、理由:「 - [UITapGestureRecognizerタグ]:あなたは、両方の言語でコードを書いて、なぜ認識できない

答えて

1

は `

func actionItemNameTap(_ sender: UITapGestureRecognizer) { 
    // let view = sender.view; 
    // print("\(view?.tag)") 
    print("item tap") 
    let indexPath = IndexPath(row: (sender.view?.tag)!, section: 0) 
    let cell = tableView.cellForRow(at:indexPath) 
    self.showPopOverBox(cell: cell!) 
} 
+0

以下のように、この方法を変更jsutのUIView *ビュー= sender.view; ' –

+0

@ Anbu.Karthikは心配しないでください。私たちは常にお互いの答えを改善することができます –

+0

申し訳ありませんが、私はそれを気付かなかった、私の間違い。 –

関連する問題