可扩展Tableview Swift中的多个Picker视图

时间:2016-05-16 07:14:52

标签: ios objective-c swift tableview

我想制作可扩展的tableview,我使用此示例创建可扩展的tableview http://www.appcoda.com/expandable-table-view/

我的问题是当我想创建自定义tableviewcell类和picker视图数据源方法时,所有包含选择器视图的tableview单元格都有相同的值没有区别,可以为所有tableview单元格选择器视图设置不同的值

这是代码

class CustomTableViewCell: UITableViewCell,UIPickerViewDelegate,UIPickerViewDataSource {

@IBOutlet weak var picker: UIPickerView!
@IBOutlet weak var detailLabel: UILabel!
@IBOutlet weak var mainLabel: UILabel!
var picArr = [String]()
var dic : NSMutableDictionary!

override func awakeFromNib() {
    super.awakeFromNib()

    dic = NSMutableDictionary()
    dic = ["item1":"Height,Width","item2":"Feet,Centimeter"]

    picArr = ["Pounds","Kilograms","Stone"]

}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

// PickerView Datasource

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    print(component)
    return picArr.count
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {

    return picArr[row]
}

}

1 个答案:

答案 0 :(得分:0)

您的每个单元格都显示静态数据数组picArr = ["Pounds","Kilograms","Stone"]。如果您想为不同的选择器使用不同的值,那么首先需要不同的数组来显示它或数组数组。而且你必须相应地编写逻辑

您也可以在cellforrowatindexpath中编写所有方案。

更新:

请参阅this stackoverflow question了解详情。

希望这会有所帮助:)