我想从一个视图控制器显示两个(或更多)表视图。我的意思是同时显示 ,例如彼此并排显示或彼此并排显示。我能想到的唯一方法是使用子视图控制器。有更好或更简单的方法吗?
感谢您的评论。
答案 0 :(得分:1)
是的,您当然可以这样使用:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
if tableView == firstTableView
{
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell1", for: indexPath)
cell.textLabel?.text = "Section \(indexPath.section) Row \(indexPath.row)"
return cell
}
else if (tableView == secondTableView)
{
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell2", for: indexPath)
cell.textLabel?.text = "Section \(indexPath.section) Row \(indexPath.row)"
return cell
}
else
{
return UITableViewCell()
}
}
类似于其他tableview委托方法,您应该为每个表添加条件
答案 1 :(得分:0)
如果您的用例是要有两个单独滚动的表视图,那么您只需在xib中添加两个表视图,分配数据源和委托并每天调用它即可。
如果您的用例是在页面上显示两种类型的信息,建议您仅使用一个表格视图并处理要手动显示的内容。
如果您需要更多帮助,请告诉我。
答案 2 :(得分:0)
使用切换条件
func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath)-> UITableViewCell {
let cell = UITableViewCell()
switch tableView {
case firsttableView:
let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell
cell.label1.text = "Zaid"
cell.label2.text = "Ahamd"
return cell
case secondTableView:
let cell = tableView.dequeueReusableCell(withIdentifier: "SecondTableViewCell", for: indexPath) as! SecondTableViewCell
cell.labelText.text = "ZaidAfzalMughal"
return cell
default:
print("Something wrong")
}
return cell
}