如何在 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 调查中删除“取消按钮”的主要内容,如果未能解决你的问题,请参考以下文章

在 ResearchKit 中捕获皮疹的图像

如何在 SwiftUI 中关闭 ResearchKit 模态视图?

如何在 ResearchKit 中配置具有多个 ORKAudioSteps 的 ORKOrderedTask?

如何在 ResearchKit 上创建个人同意页面?

如何使用 Swift 2.2 中的 ResearchKit 在自定义活动步骤中禁用下一个按钮?

ResearchKit 标头无法在 Xcode 中导入