2017-08-02 7 views
0

私のセルは、isUserInteractionEnabledをfalseにしてUITextField(すべての辺にバインドされています)を持っています。だから私はセルをクリックすると、didSelectRowAtが呼び出されると思います。ユーザインタラクションを無効にしたUITableViewCellとUITextFieldはdidSelectRowを呼び出さない

これは決して起こりません。 didSelectRowAt関数は呼び出されません。

誰が自分のイベントを消費しているかを知る方法はありますか?また、ビューデバッガでは、その上にビューが表示されません。

+0

VCクラスをテーブルビューの代理人に設定しましたか?また、あなたのコードでwillSelectを実装しました –

+0

デバッグのために、すべてのビューをセルから削除してクリックして、didSelect関数に入りますか? –

+0

テーブルビューの「選択」プロパティが「選択なし」でないことを確認してください –

答えて

1
  • UITableViewDelegateを実装していることを確認してください。
  • ビューのどこにでもUITapGestureRecognizerを追加していないことを確認してください。
+0

しました。私はちょうど私がセルを押して、私はdidSelectRowAtが押され続けていることを知りました...これは変です – user1007522

+0

明らかに私が知りませんでしたviewcontrollerにtapgestureがあった。ありがとう! – user1007522

0
  • あなたのVCがのUITableView
  • の代理人があなたのtableViewの選択は、 "選択なし"
  • そして最終ません、

    textfield.isEnable =偽 を使用しようとすることを確認していることを確認してください の代わりにtextfield.isUserInteractionEnable = false

+0

私の代理人はtableView.delegate = self tableView.dataSource = selfであり、選択は無効になっていません。私は今でもただ空のセルを持っていて、didSelectをトリガーしません。 – user1007522

+0

あなたはまだそれをスクロールしてtableViewと対話できますか?そうでなければ、おそらくあなたのtableView。 isUserInteractionEnableをfalseに設定するか、tableViewの上にあるものを透過的に設定します。そして、デリゲート関数の名前がdidSelectであることを確認してください。didDelectlect –

+0

私はdidSelectRowAtを持っていて、セルを押し続けると呼び出されます。私がセルをタップしたときではなく。 – user1007522

関連する問題