こんにちは! UITableView
に問題があります。私はを私のtextField
の行のいくつかの行に以下のコードとして追加します。実際にはpickerView
はindexPath.rowのセルに追加されますが、各セクションには追加されません。それで、今朝は私を立ち往生させてください。申し訳ありませんが、私の英語は良くありません。特別なあなたのソリューションに感謝します。テーブルビュー内の各セルのデータ繰り返し
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let data = (self.tableItems[indexPath.section].value?[indexPath.row])!
let identifier : String = data["CELL_IDENTIFIER"]!!
let cell = tableView.dequeueReusableCell(withIdentifier: identifier)
if cell is QuotationHeaderInSectionCell{
let headerCell = cell as! QuotationHeaderInSectionCell
headerCell.lblHeaderInSectionTitle.text = data["TEXT_LABEL"]!!
}else if cell is QuotationItemCell{
let itemCell = cell as! QuotationItemCell
itemCell.lblCellTitle.text = data["TEXT_LABEL"]!!
switch indexPath.section {
case 0:
switch indexPath.row {
case 1:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: titlePickerView)
break
case 4:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: genderPickerView)
break
case 10:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: provincePickerView)
break
case 11:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: districtPickerView)
break
case 12:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: communePickerView)
break
case 13:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: villagePickerView)
break
default:
break
}
break
case 1:
switch indexPath.row {
case 0:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: assetMakePickerView)
break
case 1:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: assetRangePickerView)
break
case 2:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: assetModelPickerView)
break
case 3:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: assetColorPickerView)
break
default:
break
}
case 2:
if indexPath.row == 0 {
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: dealerPickerView)
}
break
case 3:
switch indexPath.row {
case 0:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: financeProductPickerView)
break
case 1:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: advPaymentPercentPickerView)
break
case 3:
self.initInputViewForTextField(sender: itemCell.textFieldCell, inputView: assetColorPickerView)
break
default:
break
}
break
default:
break
}
}else if cell is QuotationCommentCell{
let commentCell = cell as! QuotationCommentCell
commentCell.textViewComment.text = data["TEXT_LABEL"]!!
}else if cell is DocumentTableViewCell{
let documentCell = cell as! DocumentTableViewCell
}
return cell!
}
として良いかもしれませんその中に。次に、ピッカーを持っていると思われるセルにのみオプションでそれを表示します。ピッカーの値に関しては、代わりにこのビューコントローラまたはグローバルconstのいずれかの定数として配列内にそれぞれセットすることができます。そうすれば、表示されるすべてのセルのビューを追加したり削除したりする必要はありません。 –
どのような型の配列が定数ですか?もっと詳しくplz – Socheat