【问题标题】:Disable PushRow deselection禁用 PushRow 取消选择
【发布时间】:2016-10-04 13:36:19
【问题描述】:

这是关于图书馆的问题,Eureka

我有一个PushRow 有多个选项(名称)。而且我还将这些选项的第一项设置为初始化时默认选择的选项。

var names = ["Jake", "Cassie", "Rachel", "Marco", "Ax", "Tobias"]

<<< PushRow<WindowStyle>("NamesRow") {
        $0.title = "Names"
        $0.options = names
        $0.value = names.first
    }

我运行应用程序,并且 Jake 按预期默认被选中。如果我点击PushRow 并重新选择Jake,现在它会被取消选择。我认为这是预期的行为。但如果我点击已选择的选项行,我想避免取消选择。

如果选择了相同的选项,onChange 回调闭包中的 row 属性将返回 nil。我试图进行零检查并提前退出,但它不起作用。似乎onChange 方法在所有取消选择发生后被触发。

.onChange { row in
    guard let selectedName = row.value else {
        return
    }
}

如何禁用取消选择?

【问题讨论】:

  • 找到解决方案了吗?
  • @korgx9 不幸的是没有。你最好的选择是在他们的回购中打开一个问题。

标签: ios swift eureka-forms deselect


【解决方案1】:

不确定您是否找到了答案。

而且,虽然我自己没有这样做,但我想指出正确的方向。

他们已将其包含在对 Swift 3 的更新中。

请在https://github.com/xmartlabs/Eureka/issues/261#issuecomment-255439929找到相同的内容

仅供参考,

.onPresent { form, selectorController in
         selectorController.enableDeselection = false
}

【讨论】:

    【解决方案2】:

    问题有点老了,但如果有人还在寻找答案:
    你可以这样做:

    }.onPresent { form, row in
                    row.enableDeselection = false}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-11
      • 2021-10-29
      • 2013-12-02
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多