2017-03-17 7 views
2

を無効に私は、次のUIを持っている: enter image description hereスウィフトUIPickerViewは、コンポーネント

は、スイッチが使用されている場合のみ、最後の二つのコンポーネントを無効にすることが可能ですか?もしそうなら、どうしたらいいですか?

+0

この投稿を見ることができますhttp://stackoverflow.com/questions/1565743/uipickerview-disable-row-selection –

+0

私はこの投稿を見ましたが、これは私がしたいことではありません。私はそれを無効にしたいので、1日全体がオンになっていると時間がかかるのは意味がありません。別の時間にスクロールすることは意味がない –

答えて

0

コンポーネントを無効にすることはできません。ただし、reloadAllComponentsメソッドを使用してピッカーをリロードすることができます。必要なコンポーネントのみをリロードする必要があります。時間コンポーネントをロードしないでください。

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

はい、できます。しかし、ネイティブのUIPickerViewを使用していません。私はDLPickerViewというピッカービューを書いています。このピッカービューはUIScrollViewに基づいて実装されました。あなたはそれをチェックすべきです。

関連する問題