所以我使用Eureka在我的iOS APP上创建电子表格,而且我想要使用MultivaluedSection
在表单中添加人员列表。
这是它的标准实现:
MultivaluedSection(multivaluedOptions: [.Reorder, .Insert, .Delete],
header: "Multivalued TextField",
footer: ".Insert multivaluedOption adds the 'Add New Tag' button row as last cell.") {
$0.tag = "textfields"
$0.addButtonProvider = { section in
return ButtonRow(){
$0.title = "Add New Tag"
}.cellUpdate { cell, row in
cell.textLabel?.textAlignment = .left
}
}
$0.multivaluedRowToInsertAt = { index in
return NameRow() {
$0.placeholder = "Tag Name"
}
}
}
这里的Key是$0.multivaluedRowToInsertAt
方法,它返回所需行的BaseRow
实例,只要按预期点击Button行,它就会运行。
但是我不想立即创建行,下面的代码段演示了我想要实现的功能,基本上我需要做一些准备并从服务器获取数据,然后再将行添加到该部分。然而它是一个虚拟例子,因为我无法从内部闭包返回父闭包。
$0.multivaluedRowToInsertAt = { index in
let row = NameRow() {
$0.placeholder = "Tag Name"
}
let AC = UIAlertController(title: "Test", message: "Async Test", preferredStyle: .alert)
AC.addAction(UIAlertAction(title: "Add Row", style: .default, handler: { (action) in
return row
}))
self.present(AC, animated: true, completion: nil)
}
我想知道是否有人可以告诉我如何才能实现此功能。
我打算创建一个自定义行,以其他方式帮助我,但我不知道自定义单元格是否可以解决我现在遇到的主要问题。