【问题标题】:How to remove 'cancel button' in a ResearchKit survey如何在 ResearchKit 调查中删除“取消按钮”
【发布时间】:2019-11-08 16:59:41
【问题描述】:

我进行了一项包含 11 个步骤的 ResearchKit 调查,但我想删除每个问题底部的默认取消按钮。

我遇到过这个命令:

stepViewController.cancelButtonItem = nil;

但我似乎找不到合适的地方。

谢谢。

【问题讨论】:

    标签: swift researchkit


    【解决方案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 的众神回应,似乎真的没有另一个简单的解决方案。尽管跳过按钮上的间距确实使一切都变得不稳定。一半的人争论过流氓和潜入库,但担心我会引入一些奇怪的回归。
    • 明白了。如果你发现了什么,请告诉我!
    猜你喜欢
    • 1970-01-01
    • 2012-02-01
    • 2012-09-21
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    相关资源
    最近更新 更多