如何将 Eureka 表单与另一个表放在 UIViewController 中?

Posted

技术标签:

【中文标题】如何将 Eureka 表单与另一个表放在 UIViewController 中?【英文标题】:How to put a Eureka form in a UIViewController together with another table? 【发布时间】: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 子类化的好场景是什么?? 很抱歉在这里复制它很草率(在上面更正了)。但是,这并不能解决我的问题;) 嗨,你得到什么了吗? 【参考方案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 中解释了如何做到这一点

【讨论】:

以上是关于如何将 Eureka 表单与另一个表放在 UIViewController 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个表与另一个表中的一系列值连接起来?

Swift:如何使用 Eureka 表单生成器获取表单值?

(访问)在文本字段中搜索与另一个表字段中的字符串匹配的字符串,并在子表单中显示这些匹配记录

如何将代码模块中包含的VBA代码放在表单模块中

如何通过将一个表中的 id 与另一个表匹配来选择和更新一个表中的记录?

如何将一个表与另一个表连接,然后计算非空列并将它们按另外两个字段分组?