/ / UIPickerView seleciona a primeira linha, ao ocultar - rápido, visualização de uipick

UIPickerView seleciona a primeira linha, ao ocultar - rápida, visualização de uipick

Eu criei uma barra de ferramentas para 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
}

Mas quando toco no botão "Concluído" ou "Cancelar", o seletor seleciona a primeira linha e fecha. Eu não quero esse comportamento, só quero ocultar o selecionador e deixar o valor selecionado.

Então, eu tenho 2 perguntas:

  1. Por quê UIPickerView se comportar assim?
  2. Como evitar isso?

Obrigado por qualquer ajuda!

Respostas:

0 para resposta № 1


Eu descobri que você tem dois erros. Um é um erro de digitação para a ação. Tem que ser ação: "hidePicker", sem colchetes de acordo com seus códigos. O segundo é a sua pickerToolbar não deve ser uma subview do pickerView. Mude para self.view.addSubview (pickerToolbar) e você verá a mudança.

Felicidades,