【问题标题】:How can I have two tableviews within a tableview controller?如何在 tableview 控制器中有两个 tableview?
【发布时间】:2020-06-15 09:50:22
【问题描述】:

我试图在一个场景中拥有两个不同的 tableview,但在情节提要中做到这一点的唯一方法是我使用视图控制器,如果我使用 tableview 控制器,它不会让我拖动新的 tableview,所以当我使用视图控制器运行它,它给了我错误:来自故事板“Main”,但没有得到 UITableView。'

我能做什么?

【问题讨论】:

  • 嵌套tableview真是个坏事!和糟糕的用户界面!
  • 您想要实现的目标的直观表示可以帮助我们更好地帮助您
  • 根据条件更改数据源即可。

标签: swift xcode uitableview uiviewcontroller storyboard


【解决方案1】:

您可以设置部分并为每个部分设置不同的表格视图单元格。 您还可以使自定义表格单元格或 xib 表格视图单元格具有不同的单元格。

【讨论】:

  • 谢谢!你是什​​么意思设置部分?问题是我不想制作不同的单元格我想制作不同的表格视图
  • 如果你想垂直有两个tableView,你可以用一个TableViewController来绘制它们。您可以为表格设置 2 个部分,以便用户在一个场景中看到 2 个不同的表格视图。但你应该设置适当的设计。尽管您可以使用 ViewController 轻松创建它。
【解决方案2】:

您想要两个各自独立滚动的表格吗? (也许并排?)或者您想在一个表中包含两组数据,以便您必须滚动过去才能看到另一组?

如果您只想在同一个表中显示两组不同的数据但分开,您可以创建两个部分。这个页面有一个非常好的概述: https://developer.apple.com/documentation/uikit/uitableview

您需要在 UITableViewController 中实现这些方法:

var mydata = [["siamese", "tabby", "orange", "persian"], 
              ["wolfhound", "labrador", "german shepherd"]]
override func numberOfSections(in tableView: UITableView) -> Int {
    return mydata.count
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return mydata[section].count
}

每个具有节变量的方法都应查找该节的数据并返回正确的信息。

如果您想要两个相互独立滚动的表格,您需要创建一个UIViewController 并为数据创建两个模型,并为正确的表格返回正确的模型。为每个表创建 IBOutlet,并使用正确的数据为每个表设置委托和数据源。

这个问题询问了具有两个数据源的 UIPicker - 你可以对你的表做一些非常相似的事情:https://stackoverflow.com/a/55527743/9878866

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多