我有一个tableview,我有一个部分和两个单元格。第一个单元格用于显示分区名称,第二个单元格用于显示相应区域的名称。
var Division = [“Dhaka”,”Khulna”]
var Districts = [[“Gazipur”,”Gopalganj”,”Faridpur”],[“Bagerhat”,”Jessor”,”Chuadanga”]]
我需要像这样在表格视图中出现。
Dhaka
Gazipur
Gopalganj
Faridpur
Khulna
Bagerhat
Jessor
Chuadanga
起初我接近传统方式,但是当需要在cellForRowAtIndexPath
和numberOfRowsInSection
协议中定义时,我无法前进:(
请以任何方式提出建议。在此先感谢:)
答案 0 :(得分:0)
如果我理解你的问题
此处除法将是您的章节标题
override func numberOfSectionsInTableView(tableView: UITableView) -> Int
{
return Division.count
}
和分区将是你的行
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return Districts.count
}
For Showing不要忘记添加返回header和cellForRowAtIndexPath视图的方法。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
}
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
}
答案 1 :(得分:0)
您可以使用的部分数量:
func numberOfSections(in tableView: UITableView) -> Int
{
return Districts.count
}
然后,要指定您可以使用的每个部分中的行数:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return Districts[section].count
}
最后你可以这样设置你的单元格:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = self.TableView.dequeueReusableCell(withIdentifier: "Cell") as! TableViewCell
let cellText = Districts[indexPath.section][indexPath.row]
cell.Label.text = cellText
return cell
}
对于TableView标题,您可以这样写:
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?
{
if section < Division.count
{
print(Division[section])
return Division[section]
}
else
{
return nil
}
}
你的TableViewCell类是:
import UIKit
class TableViewCell: UITableViewCell
{
@IBOutlet weak var Label: UILabel!
override func awakeFromNib()
{
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool)
{
super.setSelected(selected, animated: animated)
}
}