2017-05-21 2 views
0

나는 사용자가 미국의 모든 주에서 선택할 수있는 UIPickerView를 만들었습니다. 내 목표는 사용자가 UITextField를 탭하고 UIPickerView가 옵션을 표시하는 것입니다. UITextField 및 UIPickerView에 어떻게 가입합니까?어떻게 UITickField를 사용하여 UITextField의 값을 결정합니까?

감사합니다.

+1

스캔 [이 검색 결과] (어딘가에서 표시 할 수 http://stackoverflow.com/search?q= % 5Bswift % 5D + uitextfield + uipickerview + inpu tview) 많은 예제. – rmaddy

답변

1
// define variables 
    var timeSlotsPickerView = UIPickerView() 
    @IBOutlet weak var timeSlotTextField: BasicTextField! 


    override func viewDidLoad() { 
      super.viewDidLoad() 
      timeSlotsPickerView.delegate = self 
      timeSlotTextField.inputView = timeSlotsPickerView // textfield inputview will open pickerview 
     } 

use the delegate and datasource methods of pickerview 

func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int { 
     return array.count 
    } 

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     timeSlotTextField.text = "\(array[row])" 
    } 
0

프로젝트와 똑같은 일을해야했기 때문에이 작업을 수행 할 사용자 지정 컨트롤을 만들었습니다.

당신은 GitHub의 https://github.com/CarterMiller/TextFieldExtensions에 코드를 얻고있는 그대로 중 하나를 사용하거나 자신의 버전에 대한 출발점으로 할 수

당신의 UITextField를 확장하고, 'becomeFirstResponder'

모든 것을 설정할 수 있습니다 내 예에서, 내가 팝업보기에서 jQuery과를 제시하지만, 당신이 동등하게이 같은의 ViewController

+0

고맙습니다 러셀. 정확하게 내가 찾는 것은 아니지만 나는 도서관에 대한 아이디어를 좋아합니다. 잘 하셨어요 –

관련 문제