Swift UIPickerView禁用组件

时间:2017-03-17 09:03:09

标签: ios swift uipickerview

我有以下用户界面: enter image description here

如果使用开关,是否可以仅禁用最后两个组件?如果是这样,我该怎么做?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您无法禁用这些组件。但是,您可以尝试这些解决方案。

第一个解决方案:

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
    }
}

答案 2 :(得分:0)

是的,你可以。但不使用原生UIPickerView。我写了一个名为DLPickerView的选择器视图。此选择器视图基于UIScrollView实施。你应该检查一下。