2015-08-04 2 views
0

У меня возникли проблемы с обновлением всех 7 компонентов моего pickerView для строки [0] с нажатием кнопки. У меня есть связанный делегат и DataSource и определены UIPickerViewDelegate и UIPickerViewDataSource. Я пробовал эти входы под моей кнопкой IBAction.Обновить выборщик для строки0 с нажатием кнопки

[pickerView reloadAllComponents()] 

и

pickerView.reloadAllComponents() 

Вот некоторые из нижней части pickerView code.The начало длинного переключателя я использовал для входов этикеток. Я использую массив, и у моего pickerView есть 7 компонентов. Эта часть работает отлично.

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return data.count 
} 
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent  
    component: Int) -> String! { 
    return data[row] 
} 
func pickerView(pickerView: UIPickerView, attributedTitleForRow row: Int, 
    forComponent component: Int) -> NSAttributedString? { 
    let string = data[row] 
    return NSAttributedString(string: data[row], atributes: 
      [NSForegroundColorAttributeName:UIColor.whiteColor()]) 
} 
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, 
    inComponent: Int) { 
    var item1 = data[pickerView.selectedRowInComponent(0)] 
    var item2 = data[pickerView.selectedRowInComponent(1)] 
    var item3 = data[pickerView.selectedRowInComponent(2)] 
    var item4 = data[pickerView.selectedRowInComponent(3)] 
    var item5 = data[pickerView.selectedRowInComponent(4)] 
    var item6 = data[pickerView.selectedRowInComponent(5)] 
    var item7 = data[pickerView.selectedRowInComponent(6)] 

@IBAction FUNC ClearButton кнопка Я хочу, чтобы нажать, чтобы перезагрузить мой pickerView в [строка] 0. Когда я использую код reloadAllComponents() и нажимаю ClearButton, другие действия моего ClearButton работают отлично, но компоненты не перезагружаются до [row] 0. Вот мой код @IBAction ClearButton.

@IBAction func ClearButton(sender: AnyObject) { 

    textField1.text = "" 
    textField2.text = "" 
    textField3.text = "" 
    textField4.text = "" 
    textField5.text = "" 
    textField6.text = "" 
    textField7.text = "" 
    myLabel.text = "Please input data" 

    label1.text = "-" 
    label2.text = "-" 
    label3.text = "-" 
    label4.text = "-" 
    label5.text = "-" 
    label6.text = "-" 
    label7.text = "-" 

    pickerView.reloadAllComponents() 

    } 

Примечание: Да, я использовал [pickerView reloadAllComponents()]. Желая попробовать что-нибудь, не обязательно быть обычным. Благодарю.

ответ

0

Найден ответ. Просто нужно было ввести следующее под @IBAction MyButton:

self.myPickerView.selectRow(0, inComponent: 0, animated: true) 

Там так много устаревший, устаревшая информация на этом сайте. Однако я действительно ценю соответствующую помощь, когда я ее нахожу.

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