1

我有以下代码:

form.last! <<< MultipleSelectorRow<String>() {
                $0.title = field.question
                $0.options = []
                for option in field.answers {
                    $0.options.append(option.answer)
                }
            }.onPresent {
                    from, to in
                // TODO FIX
                to.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: from, action: #selector(InputVC.multipleSelectorDone(_:)))
            }

应该添加一个 MultipleSelectorRow - 如果单击 - 会弹出另一个 VC 并显示一些选项。单击至少一个选项后,它应该显示“完成”按钮并能够返回。该按钮没有出现,即使我从官方示例中获取了代码。

我在这里错过了什么或者我需要做什么才能消除弹出的字段?

谢谢 :)

multipleSelectorDone 函数如下:

func multipleSelectorDone(_ item: UIBarButtonItem) {
        _ = navigationController?.popViewController(animated: true)
    }
4

1 回答 1

0

对一个项目具有相同的功能并发现了这个问题。如果有人需要这里是 Swift 4.2 的解决方案

<<< MultipleSelectorRow<String>() {
    $0.title = "Subjects"
    $0.selectorTitle = "Choose"
    $0.options = ["Option 1", "Option 2", "Option 3", "Option 4"]
    $0.tag = "subjectTypes"
}.onPresent { from, to in
    to.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: from, action: #selector(self.multipleSelectorDone(_:)))
}

而 multipleSelectorDone 方法是:

@objc func multipleSelectorDone(_ sender:Any?) {
    _ = navigationController?.popViewController(animated: true)
}
于 2019-04-29T21:44:40.917 回答