如何在 ResearchKit 调查中删除“取消按钮”
Posted
技术标签:
【中文标题】如何在 ResearchKit 调查中删除“取消按钮”【英文标题】:How to remove 'cancel button' in a ResearchKit survey 【发布时间】:2019-11-08 16:59:41 【问题描述】:我进行了一项包含 11 个步骤的 ResearchKit 调查,但我想删除每个问题底部的默认取消按钮。
我遇到过这个命令:
stepViewController.cancelButtonItem = nil;
但我似乎找不到合适的地方。
谢谢。
【问题讨论】:
【参考方案1】:正确的位置应该在委托回调中。文档指出“取消按钮项在视图加载期间和 step
属性的值更改时更新,但在 taskViewController:stepViewControllerWillAppear:
委托回调中设置是安全的。”
举个例子:
func taskViewController(_ taskViewController: ORKTaskViewController, stepViewControllerWillAppear stepViewController: ORKStepViewController)
stepViewController.cancelButtonItem = nil
话虽如此,根据其存储库中的这些问题,目前最新版本的 ResearchKit 中的功能似乎已被破坏。
https://github.com/ResearchKit/ResearchKit/issues/1273
它目前将禁用取消按钮的功能,但不会正确地从 ORKNavigationContainer 中删除该按钮。如果您找到解决方案,请告诉我,问题已在他们的仓库以及其他一些地方发布了一段时间,但没有运气。
【讨论】:
得到了一个有点恶心的修复。首先,定义一个什么都不做的objc函数'nothing',然后执行以下操作: stepViewController.cancelButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(self.nothing)) 它是不可见的,并且确实调用了该函数,但是什么也没发生(或任何您想要的)。我能想到的最好的:\ 是的,这就是我目前用来隐藏它的相同技巧,直到 RK 的众神回应,似乎真的没有另一个简单的解决方案。尽管跳过按钮上的间距确实使一切都变得不稳定。一半的人争论过流氓和潜入库,但担心我会引入一些奇怪的回归。 明白了。如果你发现了什么,请告诉我!以上是关于如何在 ResearchKit 调查中删除“取消按钮”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 中关闭 ResearchKit 模态视图?
如何在 ResearchKit 中配置具有多个 ORKAudioSteps 的 ORKOrderedTask?