Multiple UIPickerView in the same UIView

后端 未结 5 1617
暖寄归人
暖寄归人 2021-02-01 20:24

I\'m a complete beginner on iOS dev and I want to create a little iOS application. On this application, 3 UIPickerViews are supposed to display different data.

5条回答
  •  眼角桃花
    2021-02-01 20:47

    Here is Full Source Multiple UIPickerView in the TextField in Swift 3

    class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
    
    @IBOutlet weak var textFiel1: UITextField!
    
    @IBOutlet weak var textFiel_2: UITextField!   
    
    
     let piker1 = UIPickerView()
     let piker2 = UIPickerView()
    
    let country = ["Ban","Ind","PK"]
    let number = ["1","2","3"]
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
        piker1.dataSource = self
        piker1.delegate = self
    
        piker2.dataSource = self
        piker2.delegate = self
    
    
        piker1.tag = 1
        piker2.tag = 2;
    
    
    
         textFiel1.inputView = piker1
          textFiel_2.inputView = piker2
    
    
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }
    
    
    
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    
    
    
        if pickerView == piker1 {
            return country.count
    
        } else if pickerView == piker2{
             return number.count
        }
    
        return 1
    }
    
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    
    
        if pickerView == piker1 {
            return country[row]
    
        } else if pickerView == piker2{
             return number[row]
        }
        return ""
    }
    
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if pickerView == piker1 {
            textFiel1.text = country[row]
              self.view.endEditing(false)
        } else if pickerView == piker2{
            textFiel_2.text = number[row]
              self.view.endEditing(false)
        }
    }
    
    }
    

提交回复
热议问题