Swift 模式上的Eureka PushRow,选择项目后视图不会关闭
我使用的是SplitViewController,在设置为“定义上下文”的“详细信息”页面上,用户可以在导航栏中选择+并使用segue在当前上下文上以模式显示下一个视图控制器。在该视图控制器上,我正在使用Eureka,我要使用的行之一是PushRow。我遇到的问题是,当我在PushRow上选择一个选项时,Eureka生成的选项视图表永远不会关闭。选项列表保持全屏。我可以看到调用了PushRow.onChange,它具有正确的值。由于某些原因,最上面的视图无法关闭 我更深入地挖掘,似乎我需要将PushRow presentationMode修改为PresentModly,因为我是从一个模态来呈现它的。但是,我不确定为controllerProvider设置什么。这条路对吗?如果是,正确的语法是什么?我还试着在onChange中重新加载,但没有什么不同Swift 模式上的Eureka PushRow,选择项目后视图不会关闭,swift,eureka-forms,Swift,Eureka Forms,我使用的是SplitViewController,在设置为“定义上下文”的“详细信息”页面上,用户可以在导航栏中选择+并使用segue在当前上下文上以模式显示下一个视图控制器。在该视图控制器上,我正在使用Eureka,我要使用的行之一是PushRow。我遇到的问题是,当我在PushRow上选择一个选项时,Eureka生成的选项视图表永远不会关闭。选项列表保持全屏。我可以看到调用了PushRow.onChange,它具有正确的值。由于某些原因,最上面的视图无法关闭 我更深入地挖掘,似乎我需要将Pu
private func getGroupPushRow() -> PushRow<String> {
return PushRow<String>() {
$0.title = "Group"
$0.selectorTitle = "What is the Group?"
$0.noValueDisplayText = "Select a Group..."
$0.options = self.getGroups()
$0.presentationMode = PresentationMode.presentModally(controllerProvider: ControllerProvider<VCType>, onDismiss: { () in
})
$0.onChange({ (row) in
print("in onchange \(row.value)")
// row.reload()
// self.tableView.reloadData()
})
}
}
我最终想出了一个解决办法,所以我把它贴在这里,希望能帮助其他人。在上面的例子中,用以下代码替换presentationMode&onChange。请注意,如果在PushRow中使用的是字符串以外的其他对象,则PushSelectorCell中的类型应改为该类型
$0.presentationMode = PresentationMode.presentModally(
controllerProvider: ControllerProvider.callback {
return SelectorViewController<SelectorRow<PushSelectorCell<String>>> { _ in }
},
onDismiss: { vc in
vc.dismiss(animated: true)
})
$0.onChange({ (row) in
row.reload()
})
我最终想出了一个解决办法,所以我把它贴在这里,希望能帮助其他人。在上面的例子中,用以下代码替换presentationMode&onChange。请注意,如果在PushRow中使用的是字符串以外的其他对象,则PushSelectorCell中的类型应改为该类型
$0.presentationMode = PresentationMode.presentModally(
controllerProvider: ControllerProvider.callback {
return SelectorViewController<SelectorRow<PushSelectorCell<String>>> { _ in }
},
onDismiss: { vc in
vc.dismiss(animated: true)
})
$0.onChange({ (row) in
row.reload()
})
谢谢你,凯特。我在寻找那个特别的解决方案。谢谢凯特。我在寻找那个特殊的解决方案。