如何点击单击格式

时间:2016-11-10 03:19:56

标签: ios swift uitableview uibutton

我有tablewcontroller。在tableview单元格中,我在tableviewcontroller中添加了带委托和数据源的其他表。我可以为每个表设置不同的数据源,但我不能在添加的表中处理单元格didSelect事件。这是我的代码:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    if tableView==self.category1Table{
        return category1Data.count
    }else if tableView==self.category2Table{
        return category2Data.count
    }else if tableView==self.category3Table{
        return category3Data.count
    }
    return 1
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if tableView==self.category1Table{
        let cell=tableView.dequeueReusableCell(withIdentifier: "category1Cell", for: indexPath)
        cell.textLabel?.text=category1Data[indexPath.row]
        cell.textLabel?.textColor=UIColor.white
        cell.textLabel?.font=UIFont(name: "HelveticaNeue-Bold", size: 15)
        return cell
    }else if tableView==self.category2Table{
        let cell=tableView.dequeueReusableCell(withIdentifier: "category2Cell", for: indexPath)
        cell.textLabel?.text=category2Data[indexPath.row]
        cell.textLabel?.textColor=UIColor.white
        cell.textLabel?.font=UIFont(name: "HelveticaNeue-Bold", size: 15)
        return cell
    }else if tableView==self.category3Table{
        let cell=tableView.dequeueReusableCell(withIdentifier: "category3Cell", for: indexPath)
        cell.textLabel?.text=category3Data[indexPath.row]
        cell.textLabel?.textColor=UIColor.white
        cell.textLabel?.font=UIFont(name: "HelveticaNeue-Bold", size: 15)
        return cell
    }
    return mainInformationCell
}

override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    if tableView==self.category1Table{
        cell.backgroundColor=UIColor.clear
    }else if tableView==self.category2Table{
        cell.backgroundColor=UIColor.clear
    }else if tableView==self.category3Table{
        cell.backgroundColor=UIColor.clear
    }else{
        cell.backgroundColor=UIColor.clear
    }
}

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print(indexPath.row)
    if tableView==self.category1Table{
        category1Btn.setTitle(category1Data[indexPath.row], for: .normal)
        category1Btn.sendActions(for: .touchUpInside)
    }else if tableView==self.category2Table{
        category2Btn.setTitle(category2Data[indexPath.row], for: .normal)
        category2Btn.sendActions(for: .touchUpInside)
    }else if tableView==self.category3Table{
        category3Btn.setTitle(category3Data[indexPath.row], for: .normal)
        category3Btn.sendActions(for: .touchUpInside)
    }
}

我怎么能这样做?

0 个答案:

没有答案