2015-09-09 6 views
-1

У меня есть два UITextFields, два UIPickerViews и один UITabBar, который имеет кнопки «done»/«cancel». У них есть следующие настройки:Как узнать активный uipickerview при нажатии кнопки панели инструментов?

textField1.inputView = pickerView1 
textField1.inputAccessoryView = toolBar 
textField1.inputView = pickerView2 
textField1.inputAccessoryView = toolBar 

Мне нужно обновить заголовок связанного текстаField при нажатии кнопки «done».

func donePicker() { 
    // Update textField1 
    if (xxx) { 
     println("PickerView1 is showing up") 
     textField1.text = textArray1[pickerView1.selectedRowInComponent(0)] 
    } 

    // Update textField2 
    if (xxx) { 
     println("PickerView2 is showing up") 
     textField2.text = textArray2[pickerView2.selectedRowInComponent(0)] 
    } 

    // Dismiss keyboard 
    self.view.endEditing(true) 
} 

Поскольку каждый TextField имеет свое собственное значение заполнителя, мы не должны изменять значение замещающего другого TextField, когда обновление своего названия.

Я не знаю, как написать условие if xxx. Как я могу получить активный uipickerview при нажатии кнопки «Готово»? Существуют ли какие-либо API/свойства, такие как pickerView1.isActive?

Заранее спасибо.

ответ

0

Я получаю его через редактируемое текстовое поле.

func textFieldDidBeginEditing(textField: UITextField) { 
    if (textField == textField1) { 
     pickerType = "pickerView1" 
    } 
    if (textField == textField1) { 
     pickerType = "pickerView1" 
    } 
} 

Спасибо всем за ваш отзыв и спасибо @matt за комментарии.

Смежные вопросы