2017-03-26 9 views
0

didselectが呼び出されていない行を選択すると、その色も選択時に青色に変わります。 didSelectは動作していません.Delegate、DataSources、Table outletも接続されています。ここに私のコードは次のとおりです。UITableView didSelectがswift 3.0で動作していません

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    categoryLbl.text = categoryArray[indexPath.row].type 
    dataDict.setValue(categoryArray[indexPath.row].type, forKey: "category") 
    categoryTable?.isHidden = true 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    imagePicker.delegate = self 
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardNotification(notification:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) 
    categoryTable?.isHidden = true 

    self.geCategoryData() 

    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action:#selector(AddFeedbackViewController.dismissKeyboard)) 
    view.addGestureRecognizer(tap) 

} 
+0

あなたはブレークポイントを設定し、一度テストして、あなたの問題を解決します。 –

+0

あなたのビューコントローラにあなたのビューを添付しましたか? –

+0

このカテゴリには?テーブルはありますか?isHidden = true try once –

答えて

2

はこれを試してみてください、これを試してみてください、それは

tap.delegate = self // add this in viewdidLoad() 

extension YourViewContoller: UIGestureRecognizerDelegate { 

    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool { 
     if touch.view != nil && touch.view!.isDescendantOfView(self.tableView) { 
      return false 
     } 
     return true 
    } 
} 
+0

はい、ありがとうございました。 。:) –

+0

しかし、それは以前は問題なく動作していましたが、突然それは動作を停止しました。 –

+0

UITapGestureRecognizer()を追加すると、タップジェスチャーがすべてのタッチイベントを処理しているためです。 –

0

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

categoryLbl.text = categoryArray[indexPath.row].type 
    dataDict.setValue(categoryArray[indexPath.row].type, forKey: "category") 
    categoryTable?.isHidden = true 

} 
+0

このコードはswift3.3用です。 –

関連する問題