2017-06-01 7 views
2

私は以下のようにテキストフィールドにUIPickerViewを実装しています:1つのページに複数のUIPickerViewを実装するにはどうすればよいですか?

public func numberOfComponents(in pickerView: UIPickerView) -> Int{ 
    return 1 
} 

public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return states.count // states is an array of strings 
} 

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return states[row] 
} 

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
    textField.text = states[row] 
    self.view.endEditing(false) 
} 

私はUIPickerViewを実装する別のテキストフィールドを持っていると思います。私はどうすればいいのですか?上記の実装されたメソッドを両方のテキストフィールドを含むように変更できますか?

答えて

4

簡単にあなたには、例えば、各pickerViewにタグ値を設定することができます。

let firstPV = UIPickerView() 
pickerV.tag = 1 

let secondPV = UIPickerView() 
secondPV.tag = 2 

をこの方法では、ちょうどあなたのよう、PickerViewのプロトコールにタグプロパティを評価する必要があります。

func numberOfComponents(in pickerView: UIPickerView) -> Int { 

    switch pickerView.tag { 
     case 1: 
      return 1 
     case 2: 
      return 3 
    default: 
     return 0 
    } 
} 
関連する問題