ios – 如何在UITableViewController中使用UIPickerView

嗨,我有一个表视图控制器名称为MyTableViewController.在MyTableViewController中,我在表的不同单元格中使用不同的UIPickerView,其名称为headerCell,由以下函数设置,并且我没有使用任何UIPickerView

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let  headerCell = tableView.dequeueReusableCell(withIdentifier: "header") as! MyTableViewCell
    headerCell.contentView.backgroundColor = UIColor.white
    return headerCell
}

MyTableViewCell是UITableViewCell类的类,其中我附加了所有表格布局,如Label,TextField,Button,UIPickerView等.

我的第二个单元格是middleCell一个footerCell,就像是

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    var cell : SubscriptionTableViewCell?
    if indexPath.row == 1 {
        cell = tableView.dequeueReusableCell(withIdentifier: "footer", for: indexPath) as? SubscriptionTableViewCell
        cell!.cardTypePicker.delegate = self
        cell!.expMonth.delegate = self
        cell!.expYear.delegate = self
        cell!.countryPicker.delegate = self
        cell!.shippingMethodPicker.delegate = self

        cell!.cardTypePicker.dataSource = self
        cell!.expMonth.dataSource = self
        cell!.expYear.dataSource = self
        cell!.countryPicker.dataSource = self
        cell!.shippingMethodPicker.dataSource = self

    }else {
        cell = tableView.dequeueReusableCell(withIdentifier: "middle", for: indexPath) as? SubscriptionTableViewCell
        cell!.variantPicker.delegate = self
        cell!.variantPicker.dataSource = self
    }
    return cell!
}

正如你所看到的,有不同的UIPickerView.
所以现在我无法理解我应该如何在UITableViewController中使用UIPickerView委托.

请帮忙谢谢.

最佳答案 您要问的术语是内联选择器.实现此功能的方法有很多种.您可以在UITableViewCell中添加UIPickerView,并通过设置它的高度约束,您可以根据需要对其进行修改.如果您想使用第三方选择器,请参阅以下链接:

https://github.com/sebamisc/UItableViewWithPicker

点赞