Swift UIPickerView 禁用组件

3
我有以下UI界面: enter image description here 如果使用开关,是否可以仅禁用最后两个组件?如果可以,如何做到这一点?

您可以查看此帖子https://dev59.com/dnI_5IYBdhLWcg3wAeLl - Oleg Gordiichuk
我看到了这篇帖子,但这并不是我想要做的。如果整天都开着,花时间没有意义,所以我想要禁用它。对我来说,滚动到另一个时间没有意义。 - Philipp Rosengart
2个回答

1
您无法禁用组件,但可以尝试以下解决方案。
第一个解决方案:
var selectedRow3 = 3
var selectedRow4 = 3

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

            switch component {
    case 3:
        myPicker.selectRow(selectedRow3, inComponent: component, animated: true)
    case 4:
        myPicker.selectRow(selectedRow4, inComponent: component, animated: true)

    default:
        break
    }

}

第二个解决方案:
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {

    switch component {
    case 3:
        return 1
    case 4:
        return 1
    default:
        return 10
    }
}

0

您无法禁用组件。但是,您可以使用reloadAllComponents方法重新加载选择器,并且应该仅重新加载所需的组件。不要加载时间组件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接