ios - UITableView didSelectRowAt indexPath not called in custom cell -


i create new viewcontroller , drag new uitableview works, in previous 2 viewcontrollers cannot work.

all following done:

  1. uitableviewdelegate .delegate=self
  2. uitableviewdatasource .datasource=self
  3. swift3 , didselectrowat not diddeselectrowat
  4. .setediting(true, animated: true)
  5. .allowsselection = true
  6. .allowsselectionduringediting = true
  7. singelselection

and data can load tableview, thing cannot select rows, in mainviewcontroller have 1 table view, 1 used testing.

enter image description here -this 1 of viewcontroller tableview cannot select row can load data, here have 1 tableview, test create new table view

enter image description here -this second viewcontroller cannot select row

this mainviewcontroller

extension mainviewcontroller: uitableviewdelegate, uitableviewdatasource {      func tableview(_ tableview: uitableview, numberofrowsinsection section: int) -> int {          return 10     }      func tableview(_ tableview: uitableview, cellforrowat indexpath: indexpath) -> uitableviewcell {          if tableview == self.tableview_restaurants {              let cell = tableview.dequeuereusablecell(withidentifier: "cell", for: indexpath) as! restaurantscell              cell.label_name.text = "omg restaurant # \(string(indexpath.row))"              return cell         }         else if tableview == self.tableview_test {              let cell = tableview.dequeuereusablecell(withidentifier: "cell", for: indexpath) as! tableviewtestcell              cell.label_test.text = string(indexpath.row)              return cell         }         else {             let cell = uitableviewcell()              return cell         }     }      func tableview(_ tableview: uitableview, didselectrowat indexpath: indexpath) {          //tableview.deselectrow(at: indexpath, animated: true)         if tableview == self.tableview_restaurants {          }         else if tableview == self.tableview_test {             print("select row")             print(indexpath)         }     } } 

this filterviewcontroller

extension searchfilterviewcontroller: uitableviewdelegate, uitableviewdatasource {       func tableview(_ tableview: uitableview, numberofrowsinsection section: int) -> int {          var numberofrowsinsecion:int = 0          if (tableview == self.tableview_quickfilters) {              numberofrowsinsecion = json_quickfilters["filters"].arrayvalue.count             //print(numberofrowsinsecion)         }          else if (tableview == self.tableview_cuisinetype) {             numberofrowsinsecion = json_cuisinetype["cuisine_types"].arrayvalue.count             //print(numberofrowsinsecion)         }          return numberofrowsinsecion     }       func tableview(_ tableview: uitableview, cellforrowat indexpath: indexpath) -> uitableviewcell {          if (tableview == self.tableview_quickfilters) {              let cell = tableview.dequeuereusablecell(withidentifier: "cell", for: indexpath) as! quickfilterscell              let filter = json_quickfilters["filters"].arrayvalue              if let filter_name = cell.label_quickfiltersname {                  filter_name.text = filter[indexpath.row]["name"].stringvalue                 filter_name.font = common.config.fontsize.xl_l             }             return cell         }          else if (tableview == self.tableview_cuisinetype) {              let cell = tableview.dequeuereusablecell(withidentifier: "cell", for: indexpath) as! cuisinetypecell              let cuisinetype = json_cuisinetype["cuisine_types"].arrayvalue              if let cuisinetype_name = cell.label_cuisinetypename {                  cuisinetype_name.text = cuisinetype[indexpath.row]["name"].stringvalue                 cuisinetype_name.font = common.config.fontsize.xl_l             }             return cell         }          else {             let cell = uitableviewcell()             return cell         }      }       func tableview(_ tableview: uitableview, didselectrowat indexpath: indexpath) {          if (tableview == self.tableview_quickfilters) {              print(indexpath)              //let cell = tableview.cellforrow(at: indexpath) as! quickfilterscell          } else if (tableview == self.tableview_cuisinetype) {              print(indexpath)              //let cell = tableview.cellforrow(at: indexpath) as! cuisinetypecell          }      }  } 

you have added tap gesture somewhere cancels cell taps. check answer here: https://stackoverflow.com/a/9248827/1286291


Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -