/ / UIPickerView wybierz pierwszy wiersz, gdy ukrywasz - szybki, uipickerview

UIPickerView wybierz pierwszy wiersz, gdy się ukrywa - swift, uipickerview

Zrobiłem pasek narzędzi dla UIPickerView:

override func viewDidLoad() {
pickerToolbar.barStyle = UIBarStyle.Default
pickerToolbar.translucent = true
pickerToolbar.tintColor = UIColor(red: 0.0, green: 112/255, blue: 186/255, alpha: 1.0)
pickerToolbar.sizeToFit()

let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "hidePicker()")
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "hidePicker()")

pickerToolbar.setItems([cancelButton, spaceButton, doneButton], animated: false)
pickerToolbar.userInteractionEnabled = true

typePicker.addSubview(pickerToolbar)
}

func hidePicker() {
typePicker.hidden = true
}

Ale kiedy stuknę przycisk „Gotowe” lub „Anuluj”, wybierz pierwszy wiersz i zamknij. Nie chcę takiego zachowania, chcę tylko ukryć próbnik i pozostawić wybraną wartość.

Mam więc 2 pytania:

  1. Czemu UIPickerView zachowywać się w ten sposób?
  2. Jak temu zapobiec?

Dzięki za pomoc!

Odpowiedzi:

0 dla odpowiedzi № 1


Odkryłem, że masz dwa błędy. Jedna to literówka do działania. To musi być akcja: „hidePicker”, brak nawiasów zgodnie z kodami. Drugi to twój pickerToolbar nie powinien być podglądem pickerView. Zmień to na self.view.addSubview (pickerToolbar) i zobaczysz zmianę.

Twoje zdrowie,