尝试了解如何以及是否可以使用3个自定义单元格制作自定义UItableview,类似于下面的内容。
Sensor Info
======================
Sensor 1: $Value_1
Sensor 2: $Value_2
Sensor 3: $Value_3
Sensor 4: $Value_4
Sensor 5: $Value_5
Sensor 6: $Value_6
Errors
===================
Error 1 : $error1
Error 2..: $error2..
Another Section
========================
Error 1 : $error1
Error 2..: $error2..
一个建议可能是将所有内容添加到一个数组中,然后填充表,但我需要每个段加载一个接一个。按下按钮后,每个段内容都是从视图控制器类中的方法生成的。传感器信息,错误,另一部分以及更多,如果我打算稍后再添加。
我很难尝试掌握如何为每个部分构建一个包含不同行syles的表。我想让所有传感器数据自定义单元格和字幕单元格或正确的细节。
答案 0 :(得分:1)
您可以拥有所需数量的源和部分。
每个部分甚至可以有一个原型单元格。
只需验证您的位置并按照以下方式处理:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 44
}
func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
if (section == 0) {
return "Title 1"
}
if (section == 1) {
return "Title 2"
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return contactPhones.count
} else if section == 1 {
return contactEmails.count
} else {
return 1
}
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier: String = "Cell"
var cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as UITableViewCell!
if cell == nil {
cell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: cellIdentifier)
}
if indexPath.section == 0 {
cell?.textLabel?.text = contactPhones[indexPath.row]["phoneNumber"].stringValue
cell?.imageView?.image = UIImage(flagImageWithCountryCode: contactPhones[indexPath.row]["phoneCountryCode"].stringValue)
} else if indexPath.section == 1 {
cell?.textLabel?.text = contactEmails[indexPath.row]["emailAddress"].stringValue
}
return cell!
}