【问题标题】:How to put a Eureka form in a UIViewController together with another table?如何将 Eureka 表单与另一个表放在 UIViewController 中?
【发布时间】:2016-01-17 23:12:22
【问题描述】:

我想要这样的东西

class MyView: FormViewController {
    @IBOutlet weak var table: UITableView!
    // etc..
}

但是我无法实现cellForRowAtIndexPathnumberOfRowsInSection,因为它们已经在 Eurka 库中实现了。我也尝试覆盖这些函数但没有成功:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if tableView.restorationIdentifier != "myTable" {
        return tableView.numberOfRowsInSection(section)
    }
    return myDataType.count
}

【问题讨论】:

  • 没有UITable 这样的东西。为什么将视图控制器称为“MyView”?在文档中查找 UITableViewDataSource
  • @Mundi 也许有人实现了自定义UITable
  • 用“UI”作为前缀?看起来更像是马虎。只是出于兴趣:将UITableView 子类化的好场景是什么??
  • 很抱歉在这里复制它很草率(在上面更正了)。但是,这并不能解决我的问题;)
  • 嗨,你得到什么了吗?

标签: ios swift eureka-forms


【解决方案1】:

看来你不需要。我尝试了同样的事情,将 UITableViewController 拖到情节提要中并将其类设置为我的 FormViewController 的 cub 类。这似乎引起了很多问题,因为 FormViewController 已经做了很多可能无法 100% 使用标准 UITableViewController 的东西。所以我删除它并使用 UIViewController 代替。

UIViewController 有一个 view 属性,而 table view 是它的子视图。这似乎有效。

在我的子类中,我只是使用 eureka 语法创建了行和部分,并没有设置我自己的表视图或委托或数据源。这允许行与我设置的标签和值一起正确显示。

看看示例应用,里面有很多东西。

不确定这是否能从技术上回答您的问题,但希望对您有所帮助。

【讨论】:

  • 我做了你正在做的事情,但不知何故我需要向 ViewController 添加一个 tableView 并设置委托和数据源,我觉得这很奇怪,因为(如你所说)在示例应用程序中这不是需要,另外在我的应用程序中,我创建的第一个视图是一个没有 TableView 的简单 viewController...(ps 我正在向我的项目添加一个新的 ViewController)
  • 好的,我发现我的错误,忘记在“ViewDidLoad”中添加“super.init”
【解决方案2】:

这是一个老问题,但我最近遇到了类似的问题。

我建议使用容器视图并将 FormViewController 嵌入其中。

这样您就可以在父 UIViewController 中拥有表格视图并通过容器访问表单。这个answer 中解释了如何做到这一点

【讨论】:

    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多