Swift Eureka中的子表单
我在Swift 3项目中使用Eureka表单框架 我需要使用MultivaluedSection,但我不想从字符串选项数组(如下面的代码)中提取字符串,而是想在显示的控制器中打开一个子窗体(例如,使用TextRow、NumberRow等) 我知道,我可以实现一个自定义的presenter行,但我没有找到一个解决方案来显示自定义presenter行的“子表单” 使用Eureka框架是否可能实现这一点Swift Eureka中的子表单,swift,swift3,eureka-forms,Swift,Swift3,Eureka Forms,我在Swift 3项目中使用Eureka表单框架 我需要使用MultivaluedSection,但我不想从字符串选项数组(如下面的代码)中提取字符串,而是想在显示的控制器中打开一个子窗体(例如,使用TextRow、NumberRow等) 我知道,我可以实现一个自定义的presenter行,但我没有找到一个解决方案来显示自定义presenter行的“子表单” 使用Eureka框架是否可能实现这一点 let multivaluedSection = MultivaluedSection(multi
let multivaluedSection = MultivaluedSection(multivaluedOptions: [.Insert, .Delete],
header: rawField["name"].stringValue,
footer: "")
multivaluedSection.multivaluedRowToInsertAt = { index in
return PushRow<String>{
$0.title = "Tap to select ;)..at \(index)"
$0.options = ["Option 1", "Option 2", "Option 3"]
} }
self.form.append(multivaluedSection)
let multivaluedSection=multivaluedSection(多值选项:[.Insert、.Delete],
标题:rawField[“name”]。stringValue,
页脚:“”)
multivaluedSection.multivaluedRowToInsertAt={index in
返回推杆{
$0.title=“点击选择;)…位于\(索引)”
$0.options=[“选项1”、“选项2”、“选项3”]
} }
self.form.append(多值部分)
这可以使用自定义选择器行来完成
你只需要按照说明做一个自定义推行
public final class CustomPushRow: SelectorRow<PushSelectorCell<SomeType>, YourSubFormVC>, RowType {
public required init(tag: String?) {
super.init(tag: tag)
presentationMode = .show(controllerProvider: ControllerProvider.callback {
return YourSubFormVC(){ _ in }
}, onDismiss: { vc in
_ = vc.navigationController?.popViewController(animated: true)
})
}
}
公共最终类CustomPushRow:选择Row,RowType{
公共必需的初始化(标记:字符串?){
super.init(tag:tag)
presentationMode=.show(controllerProvider:controllerProvider.callback{
返回您的子表单vc(){uuin}
},onDismiss:{vc in
_=vc.navigationController?.popViewController(动画:true)
})
}
}
YourSubFormVC
是当用户点击行时将显示的VC。它应该符合TypedRowControllerType
。由于您希望此VC也是一个表单,请使其继承自FormViewController
,并开始在viewDidLoad
中构建表单