gpt4 book ai didi

swift - 模态上的 Eureka PushRow,项目选择后 View 不会关闭

转载 作者:行者123 更新时间:2023-11-28 10:46:01 32 4
gpt4 key购买 nike

我正在使用 SplitViewController 并在详细信息页面(设置为“定义上下文”)上,用户可以在导航栏中选择“+”,然后我使用 segue 将下一个 View Controller “模态地覆盖当前上下文” .在那个 View Controller 上,我正在使用 Eureka,我想使用的行之一是 PushRow。我遇到的问题是当我在 PushRow 上选择一个选项时, View (选择 Eureka 生成的选项表)永远不会关闭。选项列表保持全屏显示。我可以看到 PushRow.onChange 被调用并且它具有正确的值。由于某种原因,最顶层的 View 不会关闭。

我挖得更深,似乎我需要将 PushRow presentationMode 修改为“presentModally”,因为我是从模式中呈现它的。但是,我不确定要为 controllerProvider 放置什么。这是正确的道路吗?如果是这样,正确的语法是什么?我还尝试在 onChange 中重新加载,但这并没有什么不同。

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 中使用除 String 之外的另一个对象,则 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()
})

关于swift - 模态上的 Eureka PushRow,项目选择后 View 不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530718/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com