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:
- Czemu
UIPickerView
zachowywać się w ten sposób? - 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,