UITableViewController 嵌入另一个 UIView 的容器中时不显示内容

UITableViewController doesn't show content when embedded in a Container in another UIView

我基本上所做的是将 UITableViewController 嵌入到另一个 UIView 的容器中。背景是,在普通的 TableView 中,我无法为每个单元格单独设置静态单元格并在行中加载图标。我按照我在网上找到的这些步骤操作:

  1. 将 ViewController 拖到故事板上。
  2. 将表格ViewController拖到故事板上。
  3. 下一步将容器视图拖到您的 ViewController 并调整其大小 您想要的尺寸(小于视图)-> 当您拖动 容器视图它将创建一个 segue 和另一个视图。删除那个 segue 和视图。
  4. 最后按住 Ctrl 单击您的容器并拖动到您的新容器 表视图控制器。 Select嵌入。

我的结果是这样的:

Screenshot from xcode

现在的问题是,我的容器没有显示内容。它显示它是一个 table,但基本上是一个空的,而不是应该在那里的小图标或文本字段。看这里:

Screenshot from Simulator

你们有什么建议我做错了什么或者我可以做些什么来显示内容吗?如果您需要更多信息,请发表评论。感谢您的帮助!

马特

1) 这可能会发生,因为您的 delegate 将是 tableViewController 而不是视图控制器。 2) 所以不是在 ViewController 中添加 tableViewController 添加 TableView 而是在 ViewController

中编写 delegatedatasource 方法

好的,我找到了解决方案。我基本上把 EditProfileContainerTableViewController 中的 tableViews 数据源拿出来了。这是造成问题的代码:

        // MARK: - Table view data source

//    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
//        // #warning Incomplete implementation, return the number of sections
//        return 1
//    }
//
//    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//        // #warning Incomplete implementation, return the number of rows
//        return 5
//    }

我已经截图给大家了,如果大家有类似的问题可以联系我。我很乐意提供帮助:)

你是对的。基本上你不能有静态单元格并保留 TableView 数据源部分(即默认情况下部分数和每个部分功能的行数)。当控制器加载时,它将根据这些函数重新创建动态单元格,从而隐藏您的静态单元格